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