在基于BDE (Borland Database Engine)技術(shù)的軟件開發(fā)中,Oracle數(shù)據(jù)庫的配置一直是一個(gè)比較棘手的問題。由于BDE是一個(gè)老舊的技術(shù),因此相比于現(xiàn)如今流行的各種ORM框架和數(shù)據(jù)庫驅(qū)動(dòng),其配置起來相對較為繁瑣。但是,在企業(yè)級應(yīng)用中,仍有許多老舊的應(yīng)用程序需要使用BDE來進(jìn)行數(shù)據(jù)庫操作。因此,BDE配置Oracle數(shù)據(jù)庫的問題,仍然是一個(gè)需要解決的問題。
一、在BDE中配置Oracle數(shù)據(jù)庫的步驟
BDE的配置是通過一個(gè)叫做BDE Administrator的管理工具來完成的。在該工具中,將Oracle數(shù)據(jù)庫作為BDE的一個(gè)數(shù)據(jù)源進(jìn)行配置,即可以開始使用BDE對Oracle數(shù)據(jù)庫進(jìn)行操作。
1.打開BDE Administrator工具
在計(jì)算機(jī)中找到BDE Administrator工具,并運(yùn)行它。BDE Administrator會(huì)顯示當(dāng)前計(jì)算機(jī)中所有已經(jīng)配置的數(shù)據(jù)源,如果你是第一次使用BDE工具,則該列表為空。
2.新建數(shù)據(jù)源配置信息
在工具欄中選擇“Object”菜單下的“New”,然后在彈出的窗口中選擇“Oracle”作為數(shù)據(jù)驅(qū)動(dòng)類型,填寫數(shù)據(jù)源的名稱、設(shè)置Oracle數(shù)據(jù)庫的用戶名和密碼等信息。
3.配置BDE中的數(shù)據(jù)庫驅(qū)動(dòng)
在”Configuration”中選擇“Drivers”選項(xiàng)卡,然后選擇Oracle數(shù)據(jù)庫驅(qū)動(dòng),如果沒有驅(qū)動(dòng)需要手動(dòng)安裝及配置數(shù)據(jù)庫驅(qū)動(dòng)。
4.檢查BDE連接
在打開的數(shù)據(jù)源上右鍵選擇“Connect”連接,如果成功連接則可以操作Oracle數(shù)據(jù)庫。
二、BDE與Oracle數(shù)據(jù)庫的數(shù)據(jù)類型匹配規(guī)則
BDE是一個(gè)支持多種類型數(shù)據(jù)庫的技術(shù),因此,BDE與Oracle數(shù)據(jù)庫的類型匹配規(guī)則要考慮到多種類型之間的轉(zhuǎn)換問題。對于常見的數(shù)據(jù)類型,BDE與Oracle之間的轉(zhuǎn)換是很容易完成的,但是對于自定義數(shù)據(jù)類型(如Oracle中的CLOB類型)與BDE之間的轉(zhuǎn)換,需要額外的配置。
1.數(shù)字類型
BDE中的“Numeric”類型對應(yīng)Oracle中的“NUMBER”類型,可以直接進(jìn)行轉(zhuǎn)換,但需要考慮精度問題。
2.日期類型
BDE中的“Date”類型對應(yīng)Oracle的“DATE”類型,如果日期格式轉(zhuǎn)換不正確會(huì)導(dǎo)致轉(zhuǎn)換失敗。
3.字符串類型
BDE中的“String”類型對應(yīng)Oracle中的“VARCHAR2”或“CHAR”類型,但是需要考慮字符集的問題。如果在BDE中設(shè)置的字符集與Oracle中的不一致,那么在進(jìn)行數(shù)據(jù)存儲(chǔ)時(shí),會(huì)發(fā)生亂碼問題。
4.自定義類型
BDE中的自定義類型需要與Oracle中的數(shù)據(jù)類型進(jìn)行對應(yīng)。需要在BDE Administrator的“Data Types”選項(xiàng)卡中設(shè)置自定義類型與Oracle數(shù)據(jù)類型對應(yīng)的規(guī)則。
三、BDE與Oracle數(shù)據(jù)庫的操作規(guī)則
BDE對Oracle數(shù)據(jù)庫的操作與使用其它數(shù)據(jù)庫相同,但是需要注意以下幾點(diǎn)。
1.在操作Oracle數(shù)據(jù)庫時(shí),不能使用SQL語句來操作數(shù)據(jù)庫中的CLOB和BLOB類型字段。需要使用專門的組件庫,比如Oracle Data Access Components (ODAC)來解決這個(gè)問題。
2.對于事務(wù)的處理,BDE與Oracle之間的差異較大。在Oracle中,事務(wù)是由語句COMMIT和ROLLBACK來控制的,在BDE中,則是通過幾個(gè)BDE API來處理。企業(yè)級應(yīng)用最好采用Oracle的事務(wù)控制機(jī)制。
3.在BDE中,與Oracle數(shù)據(jù)庫中表相關(guān)的設(shè)置要比其它數(shù)據(jù)庫動(dòng)態(tài)的。因此,在BDE中,表的名稱不應(yīng)該包含空格或特殊字符。如果包含空格或特殊字符,應(yīng)該在在SELECT語句中使用“`”引起來。
四、BDE與Oracle數(shù)據(jù)庫的其它配置
1.注意事項(xiàng)
在BDE與Oracle之間進(jìn)行應(yīng)用開發(fā)時(shí),需要注意以下幾點(diǎn):
(1)BDE連接Oracle數(shù)據(jù)庫之前,需要安裝Oracle的客戶端程序。
(2)應(yīng)該在運(yùn)行時(shí)環(huán)境中正確設(shè)置Oracle的環(huán)境變量,包括ORACLE_HOME、TNS_ADMIN等變量。
(3)如果使用BDE來操作Oracle數(shù)據(jù)庫,需要事先了解BDE使用的數(shù)據(jù)集(DBDataSet)與Oracle 數(shù)據(jù)庫之間的關(guān)系,以便在開發(fā)中完善。
2.性能問題
BDE作為一個(gè)老舊的數(shù)據(jù)連接技術(shù),其性能比其它新興的ORM框架和數(shù)據(jù)庫驅(qū)動(dòng)明顯差距較大。在大型企業(yè)級應(yīng)用中,為了獲得最佳的性能,建議使用Oracle的官方驅(qū)動(dòng)程序或第三方驅(qū)動(dòng)程序來替換BDE。
總結(jié)
通過對BDE與Oracle數(shù)據(jù)庫的配置規(guī)則進(jìn)行了詳細(xì)的闡述,相信讀者對BDE與Oracle之間的關(guān)系及配置方法有了更深入的理解。在實(shí)際的開發(fā)過程中,應(yīng)該根據(jù)具體的業(yè)務(wù)需求,選擇合適的技術(shù)平臺(tái),從而獲得更好的應(yīng)用性能。
網(wǎng)站導(dǎo)航
- zblogPHP模板zbpkf
- zblog免費(fèi)模板zblogfree
- zblog模板學(xué)習(xí)zblogxuexi
- zblogPHP仿站zbpfang