淺析Windows通過(guò)ODBC訪(fǎng)問(wèn)linux的Oracle數(shù)據(jù)庫(kù)
Oracle數(shù)據(jù)庫(kù)安裝在IP地址為192.168.0.20 的Linux服務(wù)器上可以配置多個(gè)實(shí)例,每個(gè)實(shí)例就是一個(gè)邏輯上獨(dú)立的數(shù)據(jù)庫(kù)。
客戶(hù)端是指需要訪(fǎng)問(wèn)服務(wù)端的Oracle數(shù)據(jù)庫(kù)的計(jì)算機(jī),它可以與服務(wù)器是同一臺(tái)機(jī)器,它也可以是網(wǎng)絡(luò)能夠訪(fǎng)問(wèn)到該服務(wù)器的任何其它計(jì)算機(jī)。
下面討論如何在Windows客戶(hù)端機(jī)上配置Oracle 9i ODBC 來(lái)訪(fǎng)問(wèn)遠(yuǎn)程O(píng)racle 9i數(shù)據(jù)庫(kù)。
通過(guò)ODBC來(lái)訪(fǎng)問(wèn)Oracle的原理如下:
客戶(hù)程序----> ODBC ----> Oracle OCI ------> Oracle 服務(wù)器
首先,在客戶(hù)端上裝一個(gè)Oracle OCI(Oracle Call Interface),它是真正直接與遠(yuǎn)程O(píng)racle服務(wù)器打交道的,實(shí)現(xiàn)數(shù)據(jù)傳輸?shù)慕M件。為了使用ODBC的統(tǒng)一方式來(lái)訪(fǎng)問(wèn)Oracle數(shù)據(jù)庫(kù),還必須裝一個(gè)Oracle ODBC driver,它接收客戶(hù)程序的數(shù)據(jù)庫(kù)訪(fǎng)問(wèn)請(qǐng)求,并把ODBC類(lèi)型的請(qǐng)求轉(zhuǎn)換為對(duì)Oracle OCI的請(qǐng)求。OCI實(shí)現(xiàn)操縱Oracle數(shù)據(jù)庫(kù),并將查詢(xún)結(jié)果或其它結(jié)果返回給ODBC driver,ODBCdriver ***將結(jié)果返回給客戶(hù)程序。換句話(huà)說(shuō),客戶(hù)通過(guò)ODBC來(lái)訪(fǎng)問(wèn)數(shù)據(jù)庫(kù),而ODBC則是通過(guò)調(diào)用OCI的API來(lái)實(shí)現(xiàn)其功能的。
以剛才所述的服務(wù)器設(shè)置為基礎(chǔ),下面給出客戶(hù)端Oracle ODBC的配置步驟。
步驟1:安裝Oracle 客戶(hù)端運(yùn)行時(shí)庫(kù),其中包括Oracle OCI。
步驟2:設(shè)置OCI訪(fǎng)問(wèn)信息。
OCI訪(fǎng)問(wèn)Oracle服務(wù)器需要知道:
1.服務(wù)器IP地址或主機(jī)名。
2.服務(wù)器的監(jiān)聽(tīng)端口。
3.欲訪(fǎng)問(wèn)的數(shù)據(jù)庫(kù)實(shí)例名(服務(wù)標(biāo)識(shí)/服務(wù)名)。
把這三個(gè)信息組成的信息集合起個(gè)名字就叫數(shù)據(jù)源名(服務(wù)命名)。
這些信息可以通過(guò)Oracle Net Manager來(lái)設(shè)置。在它的設(shè)置界面中用的名詞分別被列在對(duì)應(yīng)的括號(hào)中。
本例設(shè)置如下:
服務(wù)命名:ABCD(隨便字符串)
主機(jī)名:192.168.0.20
端口號(hào):1521&;(必須與服務(wù)器端的一致,這里是缺省值)
服務(wù)標(biāo)識(shí)/服務(wù)名:MyTestInstance
以后Oracle ODBC driver只需要提供給OCI服務(wù)命名(本例為ABCD),OCI就知道如何去訪(fǎng)問(wèn)真正的數(shù)據(jù)庫(kù)了。
#p#
步驟3:設(shè)置ODBC DSN,即ODBC數(shù)據(jù)源。
進(jìn)入控制面板/管理工具/數(shù)據(jù)源(ODBC)/系統(tǒng)DSN,點(diǎn)擊添加,選擇MicroSoft ODBC for Oracle,然后彈出一個(gè)對(duì)話(huà)框,填寫(xiě)如下內(nèi)容。
1.數(shù)據(jù)源名稱(chēng):MyOracleSrc 可隨便起,客戶(hù)程序?qū)⒂盟?/p>
2.描述:一段說(shuō)明文字,自己能看懂即可。
3.用戶(hù)名稱(chēng):mytestuser你最終需要訪(fǎng)問(wèn)的數(shù)據(jù)庫(kù)所認(rèn)可的用戶(hù)名。
4.服務(wù)器:ABCD(即OCI設(shè)置中的服務(wù)命名。這是中文版最容易引起誤解的地方。筆者開(kāi)始就誤以為要填寫(xiě)Oracle服務(wù)器的主機(jī)名)。
步驟4:客戶(hù)程序通過(guò)ODBC訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)的方法。
客戶(hù)程序訪(fǎng)問(wèn)數(shù)據(jù)庫(kù)時(shí)需要三個(gè)信息:
1.數(shù)據(jù)源:MyOracleSrc,即ODBC DSN中設(shè)置的數(shù)據(jù)源名稱(chēng)
2.用戶(hù)名:mytestuser
3.密碼:password1
這樣,就可以訪(fǎng)問(wèn)到192.168.0.20上的數(shù)據(jù)庫(kù)MyTestInstance。
為了驗(yàn)證ODBC設(shè)置是否成功,可是使用DB查詢(xún)分析器試用版照步驟4來(lái)進(jìn)行簡(jiǎn)單的測(cè)試。
【編輯推薦】