錯誤描述
-
操作系統是Win7 x64,Oracle服務端是Oracle11g x64,客戶端是Oracle10gR2 x86。
-
使用PL-SQL Developer連接正常
-
使用系統ODBC連接正常。這里要注意的是,64位系統默認啟動的是64位ODBC數據源管理器,默認指向的是服務端連接,所以需要為Oracle服務端也配置TNS Service Name,否則同樣會連接報錯。PowerDesigner默認啟動的是32位的ODBC數據源管理器,程序路徑為“%SystemRoot%\SysWOW64\odbcad32.exe”。
-
在PowerDesigner中使用相同的配置連接數據庫,死活不成功,始終報“[Oracle][ODBC][Ora]ORA-12154:TNS:無法解析指定的連接標識符”錯誤。
解決方案
-
ORA-12154錯誤一般都是由於TNS Service Name配置不正確引起的,本例中可以正常連接PL-SQL,顯然不是這個原因,排除。
-
另外一個原因就是路徑問題,Oracle對路徑比較挑剔,特殊字符通常是罪魁禍首。64位系統安裝32位程序默認都是安裝在Program Files (x86)下面的,所以考慮本例是不是也是這個原因呢?Oracle安裝路徑是D:\Oracle,沒問題;PL-SQL路徑也是D盤根目錄,也沒問題。再結合系統ODBC能正常連接,而PowerDesigner中不能正常連接的情況,難道是PowerDesigner的路徑問題?檢查了下PowerDesigner的路徑,果然是在Program Files (x86)下面的,於是乎卸載重裝,再連接。OK!原來問題這么簡單!
