[ASP.NET][Oracle] 解決 x64 系統連線 Oracle Database 錯誤問題

摘要:[ASP.NET][Oracle] 解決 x64 系統連線 Oracle Database 錯誤問題

最近換了 windows 7 64bit 的作業系統

當要連線Oracle VM時發生了連線錯誤的問題

錯誤:將原本正常的 ASP.NET 2.0 程式建置到 Windows 7 的機器上,發生 ORA-12154 錯誤。

  • ORA-12154: TNS: 無法解析指定的連線 ID
  • ORA-12154: TNS: could not resolve the connect identifier specified
  • ORA-12154: TNS: 無法處理服務名

看了一下程式 發現是在建立 Oracle Connection 時無法連線錯誤

想說 Oracle .Net Manager 已經有設定服務了怎麼會這樣呢?

查了一下 發現應該是Win7 64bit 的問題,無法支援x86的元件

在搞了一陣子之後終於通了...

解決方法大概如下:

安裝 Oracle Client x86 跟 x64 版本

將Web網站下的 Web.Config 連線字串使用完整的TNSNAME,如下

<add key="ConnectionStringORADB" value="uid=TestID;pwd=12345;Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.1.20)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=ORADB)));"/>

 測試之後發現已經可以順利連線到Oracle取的資料了

在此記錄一下。

 

參考網站:

http://blog.miniasp.com/post/2009/08/Solve-ASPNET-cannot-connect-Oracle-DB-using-Development-Server.aspx

http://klcin.tw/net/ora-12154-tns-%E7%84%A1%E6%B3%95%E8%A7%A3%E6%9E%90%E6%8C%87%E5%AE%9A%E7%9A%84%E9%80%A3%E7%B7%9A-id

 

 


以上文章敘述如有錯誤及觀念不正確,請不吝嗇指教
如有侵權內容也請您與我反應~謝謝您 :)