Oracle-10g

無法使用 SqlManager for Oracle 連接,但 Sql+

  • December 21, 2015

我正在使用 EMS Sql Manager for Oracle 連接到一些 Oracle 數據庫,但收到錯誤消息

ORA-12154: TNS:could not resolve the connect identifier specified

由於 SSD 和 RAM 升級,我剛剛重新設置了我的 PC,並將我的舊機器轉換為虛擬機。

此虛擬機連接成功,設置似乎相同,實際上我將它tnsnames.ora從一個客戶端複製到另一個客戶端(我在 Sql Manager 中使用它)。

即使我使用直接連接字元串,我也無法連接,這次它說

ORA-06413: Connection not open

如果我使用 Sql+,它會正確解析我的 TNS 標識符並正確連接到所有數據庫。Oracle 企業管理器也是如此。

這是tnsnames.ora我使用的一部分:

CLADB_CLA2014 =
 (DESCRIPTION =
   (SOURCE_ROUTE = ON)
   (ADDRESS_LIST =
     (ADDRESS = (PROTOCOL = tcp)(HOST = CLA2014)(PORT = 1521))
   )
   (CONNECT_DATA =
     (SID = CLADB)
     (SERVER = DEDICATED)
   )
 )

在 64 位 Windows 作業系統 (OS) 上安裝 32 位 Oracle 客戶端軟體後,您會收到以下錯誤之一: ORA-12154/ ORA-06413

導致 64 位 Microsoft 作業系統將 32 位應用程序安裝到 C:\Program Files (x86)\...而不是 C:\Program Files\....

這會導致一個現有的網路錯誤發生,即網路層無法解析在嘗試連接到 Oracle 的執行檔的路徑中包含括號的程序位置。

解決方案 找到產生錯誤的應用程序的位置。檢查此位置的路徑並查看它是否包含任何括號。如果是這樣,您必須將應用程序重新定位到路徑中不帶任何括號的目錄。

我剛剛將 Sql Manager 移動到 64 位應用程序安裝路徑(我知道它不是超級“乾淨”,但沒關係),現在它可以正常工作了。

在這裡找到答案:MSDN connected to oracle on 64bit x64 machine

引用自:https://dba.stackexchange.com/questions/72128