淺談Delphi7.0連接Oracle數(shù)據(jù)庫的三種方式
淺談Delphi7.0連接Oracle數(shù)據(jù)庫的三種方式,這3種方式都需要安裝Oracle客戶端并配置tnsnames.ora文件。將Oracle客戶端安裝到本地計算機,打開c:\oracle\…\network\admin\tnsnames.ora文件,按照所要訪問的數(shù)據(jù)庫的配置,添加下面的內(nèi)容。
Oracle是以高級結(jié)構(gòu)化查詢語言(SQL)為基礎(chǔ)的大型關(guān)系數(shù)據(jù)庫,是目前最流行的客戶/服務(wù)器(CLIENT/SERVER) 體系結(jié)構(gòu)的數(shù)據(jù)庫之一,目前被廣泛應(yīng)用于各類型企業(yè)的信息化管理中。數(shù)據(jù)庫支持是Delphi7.0開發(fā)環(huán)境的一個重要特性,很多程序員在數(shù)據(jù)庫應(yīng)用程序開發(fā)中都采用Delphi7.0作為開發(fā)工具,來實現(xiàn)對數(shù)據(jù)庫的訪問和控制。Delphi數(shù)據(jù)庫應(yīng)用程序是通過數(shù)據(jù)庫引擎來訪問它們引用的數(shù)據(jù)源的。本文概括性的介紹在Windows XP環(huán)境中Delphi7.0連接Oracle數(shù)據(jù)庫的3種方式,它們分別是BDE、ADO、DbExpress。
這3種方式都需要安裝Oracle客戶端并配置tnsnames.ora文件。將Oracle客戶端安裝到本地計算機,打開c:\oracle\…\network\admin\tnsnames.ora文件,按照所要訪問的數(shù)據(jù)庫的配置,添加下面的內(nèi)容
- TEST =(DESCRIPTION =
- (ADDRESS_LIST =
- (ADDRESS = (PROTOCOL = TCP)(HOST = 172.16.2.134)(PORT = 1521)) )
- (CONNECT_DATA =(SID = test) )
- )
其中HOST,PORT,SID的值與所訪問的數(shù)據(jù)庫配置有關(guān)。
1傳統(tǒng)的BDE
BDE(Borland Database Engine)使用別名引用數(shù)據(jù)庫文件或目錄,需要在客戶的計算機上與應(yīng)用程序一起安裝BDE。連接步驟:
1.1 安裝BDE。
在Delphi7.0的安裝盤中含有BDE安裝程序,按照默認方式安裝的計算機,并配置好所要訪問的Oracle數(shù)據(jù)庫的別名,例如:test。
1.2 在Delphi7.0的程序中連接Oracle數(shù)據(jù)庫。
將BDE選項卡中的TDatabase組件將放入應(yīng)用程序的主窗體,雙擊TDatabase,出現(xiàn) TDatabase組件編輯器,輸入數(shù)據(jù)庫別名、用戶名和密碼,點擊OK按鈕。在對象檢視器中將TDatabase組件的LoginPrompt屬性值設(shè)為False(避免出現(xiàn)登陸對話框,下同),將TDatabase組件的Connected屬性值設(shè)為True,這樣就成功的連接到Oracle服務(wù)器了。
1.3 使用TTable組件訪問數(shù)據(jù)。
將TTable組件放置到應(yīng)用程序的主窗體,設(shè)置其DatabaseName屬性值為test,再放入TdataSource和TDBGrid組件,接下來的工作就與開發(fā)本地數(shù)據(jù)庫應(yīng)用程序相同了。
2 Microsoft的ADO
ADO(ActiveX Data Objects)是Microsoft的高級接口,基于Microsoft的數(shù)據(jù)訪問OLEDB技術(shù)而實現(xiàn)。連接步驟:
2.1 在Delphi7.0的程序中連接Oracle數(shù)據(jù)庫。
將ADO選項卡中的TADOConnection組件放入應(yīng)用程序的主窗體,雙擊 TADOConnection,在出現(xiàn)的對話框中點選Use Connection String,在其下面的框中輸入:Provider=MSDAORA.1;User ID=test;Data Source=test;Persist Security Info=False,其中test為Oracle服務(wù)器名和用戶名。在對象檢視器中將TADOConnection組件的LoginPrompt屬性值設(shè)為False,將TADOConnection組件的Connected屬性值設(shè)為True,這樣就成功的連接到Oracle服務(wù)器了。
2.2 使用TADOCommand組件訪問數(shù)據(jù)。
將TADOCommand組件放置到應(yīng)用程序的主窗體,設(shè)置其Connec tion屬性值為Connection1,點擊其CommandText屬性值,在出現(xiàn)的對話框中輸入SQL查詢語句(本文以查詢數(shù)據(jù)為例),再放入 TdataSource和TDBGrid組件,接下來的工作就與開發(fā)本地型數(shù)據(jù)庫應(yīng)用程序相同了。
3 新一代夸平臺的數(shù)據(jù)庫訪問引擎DbExpress
DbExpress是一組新的組件,技術(shù)和驅(qū)動程序,具備了夸平臺的能力,讓程序員能夠開發(fā)出更有效率的數(shù)據(jù)庫應(yīng)用程序,因此會成為以后Delphi和Kylix的核心數(shù)據(jù)訪問技術(shù)。連接步驟:
3.1 在Delphi7.0的程序中連接Oracle數(shù)據(jù)庫。
將 dbExpress選項卡中的TSQLConnection組件放入應(yīng)用程序的主窗體,雙擊TQLConnection,出現(xiàn) TSQLConnection組件編輯器,選擇Oracle作為Driver Name,輸入數(shù)據(jù)庫名稱、用戶名和密碼,點擊OK按鈕。在對象檢視器中將TSQLConnection組件的LoginPrompt屬性值設(shè)為 False,將TSQLConnection組件的Connected屬性值設(shè)為True,這樣就成功的連接到Oracle服務(wù)器了。
3.2 使用TSQLDataSet組件訪問數(shù)據(jù)。
將TSQLDataSet組件放置到應(yīng)用程序的主窗體,設(shè)置其SQLConne ction屬性值為SQLConnection1,點擊其CommandText屬性值,在出現(xiàn)的對話框中輸入SQL查詢語句(本文以查詢數(shù)據(jù)為例),再放入TdataSource和TDBGrid組件,接下來的工作就與開發(fā)本地數(shù)據(jù)庫應(yīng)用程序相同了。
4結(jié) 語
BDE是上一代的數(shù)據(jù)引擎了,已經(jīng)進入維護狀態(tài),不易再有大幅的改善,對于新開發(fā)的數(shù)據(jù)庫應(yīng)用程序,如果沒有特別的要求建議就不要用它了;在Windows平臺用DbExpress或者ADO我沒有發(fā)現(xiàn)很大的差異,DbExpress速度更快一些;如果想開發(fā)夸平臺的數(shù)據(jù)庫應(yīng)用程序,那還是用DbExpress更好。
【編輯推薦】