在Win7 x64開啟Toad 10,連線DB時出現ORA-12154


系統為Windows 7 x64,安裝了Oracle 10g Client for x86。

結果Toad for x86 連不上去,SQL Server的Report Builder for x86也連不上去。

但是開啟cmd,用tnsping資料庫是成功的;用Sqlplus連線也是正常的。

出現的錯誤都是ora-12154:tns: could not resolve the connect identifier specified

最後終於發現原來是Program Files (x86) 目錄名稱有左右括號的原故,只要把軟體安裝到別的目錄或複製出來就可以正常了。

在網上發現也有其他的軟體也會如此,都是括號的影響。

下面是SQL Server的Report Builder的Sqlnet.log內容:
Fatal NI connect error 6413, connecting to:
(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(Host=192.168.1.1)(Port=1524)))
     (CONNECT_DATA=(SID=ora)(CID=(PROGRAM=C:\Program Files (x86)\Microsoft SQL Server\Report Builder 3.0\MSReportBuilder.exe)
     (HOST=mypc)(USER=john))))

由上可知Oracle的Tnsname.ora是以括號來區分,如果目錄帶有括號的話,就會導致誤判的結果。



Oracle Data Gurad Archive Gap