PLSQL Developer 不能連接 oracle 11g 64位 的解決辦法

前言:

  plsql developer無法連接oracle server64bit分爲兩種情況。第一種情況是在oracle server 64bit的數據庫服務器上安裝plsql,第二種情況是在另外的機器上安裝plsql developer連接oracle server 64bit數據庫服務器。

錯誤症狀:

      Initialization error     
      SQL*Net not properly installed
      OracleHomeKey:       
      OracleHomeDir:

原因:

  oracle client是64位的,而plsql是32位的,兩者不兼容

第一種情況解決辦法1:

  下載跟oracle服務器同版本的instantclient,然後配置PLSQL即可。在perference->Connection裏面設置OCI Library和Oracle_Home,例如本機設置爲:

Oracle Home : D:\app\oracle\product\11.2.0\instantclient_11_2
OCI Library :D:\app\oracle\product\11.2.0\instantclient_11_2\oci.dll

 像其他的navicat連接oracle server 64bit也是需要現在這個instantclient,然後指定oci.dll。可以參考博客:Navicat Premium 連接 Oracle 數據庫

注意:(2014-7-17)

如果使用上面的這種方法的話,那麼PLSQL讀取的配置文件也是instantclient_11_2目錄下的配置文件,比如我的配置文件路徑就是

D:\app\oracle\product\11.2.0\instantclient_11_2\NETWORK\ADMIN

此時使用oracle server 64bit自帶的net configuration assistant以及net manager是沒有用的。不過可以在net configuration assistant當中配置,然後將配置好的配置文件覆蓋到\instantclient_11_2\目錄下

比如我可以將D:\app\oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN當中的三個配置文件(listener.ora、sqlnet.ora、tnsnames.ora)覆蓋到D:\app\oracle\product\11.2.0\instantclient_11_2\NETWORK\ADMIN當中

第一種情況解決辦法2:

  在安裝oracle server 64bit以後,再安裝oracle_client_32bit,然後在配置上有一下注意點:

  1. oracle server 64bit配置監聽器listener和數據庫連接名testdb
  2. oracle_client_32bit不要配置監聽器,只配置數據庫連接名testdb

 然後安裝plsql,連接testdb,正常連接。

第二種情況解決方法

  安裝oracle_client_32bit,創建數據庫連接,安裝plsql developer,這樣就能夠正常連接。

 

 TNS_ADMIN的設定

 這個環境變量是用來設定到底使用那個tns配置文件的。因爲我們在一臺機器上面安裝oracle server 64bit和oracle client 32bit,那麼就會有兩個tns的配置文件,兩個配置文件放在一下目錄:

  1. D:\app\oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN
  2. D:\app\oracle\product\11.2.0\client_1\NETWORK\ADMIN

如果不設定TNS_ADMIN,那麼默認使用client_1的tns

如果設定環境TNS_ADMIN=D:\app\oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN,那麼上面的路徑會發生改變。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章