Oracle的安裝步驟可以看懂,跟著軟體安裝操作即可,下面來探討一下Oracle的串連問題。我用的是Oracle 10 版本的,故而以 Oracle10為例:
安裝完Oracle資料庫之後,一定要安裝Oracle Client,否則連結資料庫時就會提示沒有安裝Oracle用戶端。對應的Oracle的用戶端網路上也有資源,可以自行下載。(如樂意可見底部資源下載)
我用了兩種方法串連Oracle資料庫: Navicat
後來測試不成功,提示字元集錯誤:
原因是Navicat內建的oci.dll檔案不支援字元編碼“ZHS 16GBK”,然後替換成資料庫內建的oci.dll檔案,這裡的OCI.DLL不是資料庫內部的,要是安裝的Oracle用戶端裡面的:
這樣就可以串連成功了。但是這時候發現用服務名可以連結成功,用SID連結失敗,問題待最後說明,先查看另外一種串連工具吧。
PL/SQL Developer
首先上來就是登陸
上面顯示的資料庫和串連方式都是需要在tnsnames.ora裡面進行配置才能自動出現內容,位於Client端的安裝路徑下:network\admin\tnsnames.ora
登陸上自動顯示的資料庫名都是根據這個檔案中配置的資料庫資訊匹配的。當然在plsql developer中中沒有事先配置則也不會出現。如果是第一次開啟plsql developer,則不需要登陸,直接點擊取消即可進入,開啟工具喜好設定串連欄進行配置,配置成功之後重新開啟即可。
重新啟動,進行登陸,這時我們也會發現上面Navicat連結SID連結不成功的問題,是怎麼回事呢。請轉到錯誤整理部分。
錯誤
1、監聽程式當前無法識別連結描述符中請求的服務
意思就是連不上資料庫。哪裡錯誤了呢。通過網上查看資料,大概兩種情況造成:
一種是OCI.DLL檔案沒有配置用戶端的,或者OCI.DLL檔案錯誤。另一種就是tnsnames.ora檔案配置錯誤。
OCI.DLL檔案是安裝的官方的,故而一般不會錯。那麼就是tnsnames.ora檔案配置不對,原來如果我們想要連結Oracle資料庫時,需要在tnsnames.ora先找到我們對應的資料庫配置(一般建立時會自動補充),不過由於我的剛開始使用,沒有在tnsnames.ora(用戶端)檔案配置,後來照著服務端的進行配置,最後通過串連上了。當然這個問題不一定在用戶端配置,我記得後來的資料庫我就沒有進行配置,系統自動寫入到服務端裡面去了,然後也能都出來。這隻是一個解決問題的建議,靈活採納。
2、SID名串連不成功,服務名連結成功
問題提示與上面問題圖類似。
這是由於Oracle 10 版本安裝的資料庫的一些檔案缺少了必要的基礎包,或者基礎包存在異常,這個官方也整理出了基礎包的檔案,下載下來,進行替換即可。(在資料庫安裝路徑下:BIN檔案夾裡替換。比如資料庫安裝在D:\Programming\oracle\product\10.2.0\db_1裡面,則在這個目錄下的BIN目錄裡進行替換D:\Programming\oracle\product\10.2.0\db_1\BIN
Client檔案下載地址(任選其一即可)
Oracle 10 Client(64位)
Oracle Client(64位)
OracleClient 10基礎包下載