国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

Delphi 搭配Oracle開發(fā)數(shù)據(jù)庫應(yīng)用

2013-12-29 00:00:00李衛(wèi)紅鄧杰海
電腦知識與技術(shù) 2013年4期

摘要:該文介紹了Delphi搭配Oracle進(jìn)行數(shù)據(jù)庫應(yīng)用開發(fā)時,通過Delphi提供的BDE以及Oracle提供的Net Manager工具進(jìn)行有關(guān)數(shù)據(jù)庫連接設(shè)置。通過設(shè)置Tdatabase及Tsession控件屬性,然后使用TTable、Tquery和TstoredProc等BDE控件,進(jìn)行Oracle數(shù)據(jù)庫的有關(guān)操作。

關(guān)鍵詞:Delphi;Oracle;數(shù)據(jù)庫;存儲過程;SQL語句

中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2013)04-0669-02

由Borland公司推出的Delphi是全新的可視化編程環(huán)境,為我們提供了一種方便、快捷的Windows應(yīng)用程序開發(fā)工具。它使用了Microsoft Windows圖形用戶界面的許多先進(jìn)特性和設(shè)計(jì)思想,采用了彈性可重復(fù)利用的完整的面向?qū)ο蟪绦蛘Z言(Object-Oriented Language)、當(dāng)今世界上最快的編譯器、最為領(lǐng)先的數(shù)據(jù)庫技術(shù)。

ORACLE 數(shù)據(jù)庫系統(tǒng)是美國ORACLE公司(甲骨文)提供的以分布式數(shù)據(jù)庫為核心的一組軟件產(chǎn)品,是目前最流行的客戶/服務(wù)器(CLIENT/SERVER)或B/S體系結(jié)構(gòu)的數(shù)據(jù)庫之一。ORACLE數(shù)據(jù)庫是目前世界上使用最為廣泛的數(shù)據(jù)庫管理系統(tǒng),作為一個通用的數(shù)據(jù)庫系統(tǒng),它具有完整的數(shù)據(jù)管理功能;作為一個關(guān)系數(shù)據(jù)庫,它是一個完備關(guān)系的產(chǎn)品;作為分布式數(shù)據(jù)庫它實(shí)現(xiàn)了分布式處理功能。

1 配置Oracle監(jiān)聽和網(wǎng)絡(luò)服務(wù)名

建立了Oracle數(shù)據(jù)庫后,必須合理地配置監(jiān)聽程序和網(wǎng)絡(luò)服務(wù)名,客戶應(yīng)用才能訪問數(shù)據(jù)庫。服務(wù)器端必須配置監(jiān)聽程序,而網(wǎng)絡(luò)服務(wù)名在客戶端跟服務(wù)器端都可以配置。

服務(wù)器端的監(jiān)聽程序用于接收客戶端的連接請求。建立Oracle數(shù)據(jù)庫后,為了客戶應(yīng)用能訪問特定數(shù)據(jù)庫,必須要在監(jiān)聽程序中追加該數(shù)據(jù)庫。一個監(jiān)聽程序可以監(jiān)聽多個Oracle數(shù)據(jù)庫,多個監(jiān)聽程序也可以監(jiān)聽同一個數(shù)據(jù)庫。但是監(jiān)聽程序只能用于同一臺服務(wù)器上的Oracle數(shù)據(jù)庫。安裝了Oracle時,會自動建立默認(rèn)的監(jiān)聽程序LISTENER.,監(jiān)聽程序使用的默認(rèn)端口為1521。保存了監(jiān)聽程序配置之后,必須要重新啟動監(jiān)聽程序才能生效。windows中可以在“服務(wù)”中重新啟動。例如:假如在10.150.27.45上裝了ORACLE服務(wù)器,端口是1521,為了讓其他客戶端應(yīng)用(不管是本地的還是其他的)可以訪問我的名為TESTDB的數(shù)據(jù)庫,首先得在服務(wù)器上配置監(jiān)聽器:進(jìn)入Net Manager 新建一個端口,如命名為LISTENER,配置主機(jī)名:如10.150.27.45和端口1521,配置全局?jǐn)?shù)據(jù)庫名:如TESTDB,然后保存。

客戶端需要配置網(wǎng)絡(luò)服務(wù)名,才能訪問Oracle數(shù)據(jù)庫, 一般使用數(shù)據(jù)庫名作為服務(wù)名。注意: 網(wǎng)絡(luò)協(xié)議要與監(jiān)聽程序的一致(如TCP/IP)例如:假如在10.150.27.46上裝了ORACLE客戶端,進(jìn)入NET MANAGER,新建一服務(wù)命名,如:TEST,然后配置你要連接的DB服務(wù)器名字和端口好,如:10.150.27.45, 1521,配置服務(wù)名必須跟監(jiān)聽端口的全局?jǐn)?shù)據(jù)庫名一樣:如TESTDB,然后可以通過輸入用戶名和密碼測試連接成不成功了。

2 設(shè)置BDE連接

Delphi數(shù)據(jù)庫應(yīng)用的最大奧秘在于它的獨(dú)特的數(shù)據(jù)庫引擎BDE(Borland Database Engine),它使我們的程序編寫更為方便,移植起來也十方便,可適應(yīng)從客戶/服務(wù)器模式到分布式網(wǎng)絡(luò)計(jì)算,如果再充分利用Windows的多線程、COM、CORBA、MTS等機(jī)制,將會開發(fā)出更為美妙的東西來。Delphi主要是通過數(shù)據(jù)庫引擎BDE來處理數(shù)據(jù)的。BDE實(shí)際上是由幾個DLL模塊組成的,它們分別負(fù)責(zé)處理一些數(shù)據(jù)庫的相關(guān)工作。所有數(shù)據(jù)庫存取使用的例程,均需要通過BDE來處理。BDE是Delphi數(shù)據(jù)庫功能的樞紐部分,是連接應(yīng)用程序和數(shù)據(jù)庫的橋梁。

Delphi要訪問Oracle數(shù)據(jù)庫時,需要先在BDE中進(jìn)行相關(guān)的設(shè)置。設(shè)置BDE步驟如下:運(yùn)行BDE工具,對右邊的Database根節(jié)點(diǎn)點(diǎn)擊右鍵,在彈出的New Database Alias對話框的下拉框選擇Oracle驅(qū)動程序。在Database根節(jié)點(diǎn)下面添加了一個節(jié)點(diǎn),節(jié)點(diǎn)名稱可以修改,然后修改右邊的SERVER NAME屬性,此值與Oracle的Net Manager工具設(shè)置的網(wǎng)絡(luò)服務(wù)名一致。修改SQLQRYMODE選項(xiàng)值,數(shù)據(jù)庫在本機(jī),選擇Local,不在本機(jī),選擇Server。還需要修改USER NAME的值,輸入Oracle的用戶賬戶。

3 BDE數(shù)據(jù)庫組件使用說明

3.1 Tdatabase組件

Database組件用于事務(wù)處理控制、安全性以及連接控制。它通常只用于連接客戶機(jī)/服務(wù)器應(yīng)用程序中的遠(yuǎn)程數(shù)據(jù)庫,或避免在多個窗體中連接同一個數(shù)據(jù)庫。Database組件還用于設(shè)置只在程序內(nèi)使用的本地別名。一旦該本地別名被設(shè)置為一個給定的路徑,應(yīng)用程序的Table和Query組件就可以引用本地?cái)?shù)據(jù)庫別名。這要比在程序的每個DataSet組件中復(fù)制編碼路徑的方法好得多。

3.2 TSession組件

Session組件提供了對應(yīng)用程序數(shù)據(jù)庫連接的全局控制,包括一個已有數(shù)據(jù)庫和別名的列表以及一個定制數(shù)據(jù)庫注冊的事件。

3.3 Ttable組件

在Delphi中,指定數(shù)據(jù)訪問最簡單的方法是使用Table組件。Table對象只引用數(shù)據(jù)庫表格。當(dāng)使用Table組件時,需要指明要在它的DatabaseName屬性中使用的數(shù)據(jù)庫名稱。可以輸入別名或含有數(shù)據(jù)表格文件的目錄路徑。Object Inspector列出了所有可用的名稱,這要根據(jù)在BDE中安裝的別名來定。

還需要在TableName屬性中提供相應(yīng)的值。Object Inspector列出了當(dāng)前的數(shù)據(jù)庫(或目錄)可使用的數(shù)據(jù)表格,所以通常應(yīng)該首先選擇DatabaseName屬性,接著選擇TableName屬性。

3.4 Tquery組件

Delphi中第二個數(shù)據(jù)集合組件是Query組件。查詢一般要比數(shù)據(jù)表格復(fù)雜,因?yàn)樗枰猄QL語言命令。然而,使用SQL定制查詢比定制數(shù)據(jù)表格容易(當(dāng)然,至少需要知道SQL的基本元素)。Query組件和Table組件一樣有DatabaseName屬性,但沒有TableName屬性。數(shù)據(jù)表格是在SQL語句中定義的,存儲在SQL屬性中。

3.5 TstoredProc組件

第三個數(shù)據(jù)集合組件是StoredProc,它引用了SQL服務(wù)器數(shù)據(jù)庫的存儲過程??梢赃\(yùn)行這些過程并在數(shù)據(jù)庫表格窗體中得到結(jié)果。StoredProc只能與SQL服務(wù)器一起使用。

4 結(jié)束語

通過本文介紹的方法連接Oracle數(shù)據(jù)庫,方法簡單、操作方便,但在部署軟件的時候就很不方便,因?yàn)樵诿颗_運(yùn)行軟件的計(jì)算機(jī)上都需要設(shè)置特定名字的BDE別名。

參考文獻(xiàn):

[1] Marco Cantu.Delphi2005從入門到精通[M].北京:電子工業(yè)出版社,2006.

[2] 路遙,宋鑫.Oracle基礎(chǔ)與提高[M].北京:電子工業(yè)出版社,2003.

[3] 陸正武,徐君明.Delphi7基礎(chǔ)編程[M].北京:電子工業(yè)出版社,2003.

扶沟县| 文登市| 宁蒗| 峨边| 临夏县| 柳江县| 怀宁县| 安西县| 修水县| 铜梁县| 额尔古纳市| 兰西县| 乐昌市| 万山特区| 娱乐| 安泽县| 顺平县| 金秀| 汉寿县| 平邑县| 孙吴县| 庄浪县| 湄潭县| 新野县| 乌拉特后旗| 双辽市| 张家口市| 遵义市| 额尔古纳市| 崇信县| 江西省| 黄陵县| 肇州县| 梁平县| 庄浪县| 吉木萨尔县| 封丘县| 天门市| 金堂县| 合山市| 罗山县|