淺析Windows通過ODBC訪問linux的Oracle數據庫
Oracle數據庫安裝在IP地址為192.168.0.20 的Linux服務器上可以配置多個實例,每個實例就是一個邏輯上獨立的數據庫。
客戶端是指需要訪問服務端的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就知道如何去訪問真正的數據庫了。
#p#
步驟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來進行簡單的測試。
【編輯推薦】