用Delphi開發(fā)基于ORACLE平臺(tái)的數(shù)據(jù)庫管理信息系統(tǒng)過程中,連接ORACLE后臺(tái)一般考慮兩種方式,一種是用ORACLE公司提供的驅(qū)動(dòng),用ODBC方式來連接;一種是繞過ODBC,用BDE直連方式。
在ORACLE客戶端配置連接字符串后,并在BDE中創(chuàng)建一個(gè)ORACLE的別名,并把該別名的SERVER_NAME設(shè)成ORACLE的連接串,然后就可以通過這個(gè)別名來訪問ORACLE了)。本文主要說說后一種連接方式。
我用Delphi4C/S(安裝了對應(yīng)的補(bǔ)丁程序)在開發(fā)基于TURBOLINUX+ORACLE8.1.6的住房補(bǔ)貼管理系統(tǒng)過程中,就是采用的 BDE直連方式,BDE升級到了5.1.1,碰到的問題如下:只要數(shù)據(jù)表中日期字段有空值,那么與該日期字段相關(guān)的所有的查詢就會(huì)出現(xiàn)如下錯(cuò)誤?(見圖 1)
對應(yīng)的SQL語句在SQLPLUS下沒有問題,這只能說明是BDE本身的問題。我在Borland的主頁上下載了BDE5.1.1針對 ORACLE8以上版本的補(bǔ)丁程序sqlora8.dll,版本是5.1.1.2,可問題依舊?!我詢問了中國Borland公司,沒有結(jié)果。無奈之下, 我把程序拷貝到同事的機(jī)子試了一下,居然沒有出錯(cuò)??!檢查了同事機(jī)子的SQLORA8.DLL版本,發(fā)現(xiàn)版本是5.0.1.22。我把這個(gè)文件拷貝替換 掉,問題解決。后來,我挨個(gè)測試別的SQLORA8.DLL版本,都存在BDE錯(cuò)誤。這里也表明一個(gè)問題:高版本的軟件不一定就好,就能解決問題。希望碰 到同樣問題的人,早些解決問題,少走些彎路。
更多信息請查看IT技術(shù)專欄