[SQL SERVER][TS]解決ORA-12154 - 使用LinkServer連接Oracle 10g x64

[SQL SERVER][TS]解決ORA-12154 - 使用LinkServer連接Oracle 10g x64

最近開發.NET有部份資料需使用Oracle10g x64,

我參考之前文章建立LinkServer連接Oracle時卻一直發生問題,

但我使用tnsping和sqlplus皆可順利連上 Oracle DB,

 

tnsname.ora

image

image

image

 

無法透過 LinkedServer 查詢 Oracle

image f

 

但如果不透過tnsname.ora卻可以正確連到Oracle

image

 

這裡似乎出現一絲絲線索,不透過tnsname.ora即可正常,

換句話說,SQL SERVER確實無法解析tnsname.ora檔案內容資訊,

花了點時間檢查環境變數後就解決了該問題。

 

確認Oracle_HOME路徑是否正確

以前自己本機有多個Oracle_Home造成路徑混亂,

這次主要是因為舊的Oracle10g Home機碼還存在,

所以我刪除Oracle10g Home舊機碼後,SQL SERVER即可順利透過 tnsname.ora 連線

image

 

再次建立LinkedServer

image

連接Oracle 成功。

 

為了怕以後再次發生同樣鳥事,所以我建議新增ORACLE_HOME系統環境變數

image

 

 

 

參考

[SQL SERVER][Memo]如何建立LinkServer連接Oracle