Oracle數據庫安裝在IP地址爲192.168.0.20 的Linux服務器上,而後創建一個實例名爲"MyTestInstance",並添加用戶mytestuser 和密碼password1,以備下文做爲範例使用。服務器上能夠配置多個實例,每一個實例就是一個邏輯上獨立的數據庫。
客戶端是指須要訪問服務端的Oracle數據庫的計算機,它能夠與服務器是同一臺機器,它也能夠是網絡可以訪問到該服務器的任何其它計算機。
下面討論如何在Windows客戶端機上配置Oracle 9i ODBC 來訪問遠程Oracle 9i數據庫。
經過ODBC來訪問Oracle的原理以下:
客戶程序----> ODBC ----> Oracle OCI ------> Oracle 服務器
首先,在客戶端上裝一個Oracle OCI(Oracle Call Interface),它是真正直接與遠程Oracle服務器打交道的,實現數據傳輸的組件。爲了使用ODBC的統一方式來訪問Oracle數據庫,還必須裝一個Oracle ODBC driver,它接收客戶程序的數據庫訪問請求,並把ODBC類型的請求轉換爲對Oracle OCI的請求。OCI實現操縱Oracle數據庫,並將查詢結果或其它結果返回給ODBC driver,ODBCdriver 最後將結果返回給客戶程序。換句話說,客戶經過ODBC來訪問數據庫,而ODBC則是經過調用OCI的API來實現其功能的。
以剛纔所述的服務器設置爲基礎,下面給出客戶端Oracle ODBC的配置步驟。
步驟1:安裝Oracle 客戶端運行時庫,其中包括Oracle OCI。
步驟2:設置OCI訪問信息。
OCI訪問Oracle服務器須要知道:
1.服務器IP地址或主機名。
2.服務器的監聽端口。
3.欲訪問的數據庫實例名(服務標識/服務名)。
把這三個信息組成的信息集合起個名字就叫數據源名(服務命名)。
這些信息能夠經過Oracle Net Manager來設置。在它的設置界面中用的名詞分別被列在對應的括號中。
本例設置以下:
服務命名:ABCD(隨便字符串)
主機名:192.168.0.20
端口號:1521&;(必須與服務器端的一致,這裏是缺省值)
服務標識/服務名:MyTestInstance
之後Oracle ODBC driver只須要提供給OCI服務命名(本例爲ABCD),OCI就知道如何去訪問真正的數據庫了。
步驟3:設置ODBC DSN,即ODBC數據源。
進入控制面板/管理工具/數據源(ODBC)/系統DSN,點擊添加,選擇MicroSoft ODBC for Oracle,而後彈出一個對話框,填寫以下內容。
1.數據源名稱:MyOracleSrc 可隨便起,客戶程序將用它。
2.描述:一段說明文字,本身能看懂便可。
3.用戶名稱:mytestuser你最終須要訪問的數據庫所承認的用戶名。
4.服務器:ABCD(即OCI設置中的服務命名。這是中文版最容易引發誤解的地方。筆者開始就誤覺得要填寫Oracle服務器的主機名)。
步驟4:客戶程序經過ODBC訪問數據庫的方法。
客戶程序訪問數據庫時須要三個信息:
1.數據源:MyOracleSrc,即ODBC DSN中設置的數據源名稱
2.用戶名:mytestuser
3.密碼:password1
這樣,就能夠訪問到192.168.0.20上的數據庫MyTestInstance。
爲了驗證ODBC設置是否成功,但是使用DB查詢分析器試用版照步驟4來進行簡單的測試。數據庫