重拾好久沒寫的 C#,連個 Oracle 狀況萬千,記錄一下。

 

【錯誤訊息一:ORA-12154: TNS:無法決定服務名稱

參考《ORA-12154之靈異事件》一文,先把 Network Service 帳號加到 tnsname.ora(我的路徑在 oracle 安裝目錄\network\admin)。不過沒用。XD

依文中提示把連線字串寫成這樣:

connString = @"Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST={0})(PORT={1})))
                                   (CONNECT_DATA=(SID={2})));
                                    User Id={3};
                                    Password={4};"
;

後續出現新的錯誤訊息。XD

 

【錯誤訊息二:ORA-6413: 連線未被開啟

我的開發環境也是 x64,參考保哥的《解決 ASP.NET 跑在 x64 機器上無法連接 Oracle DB 的問題》,裡面說是因為長路徑裡的「Program Files (x86)」(Visual Studio 的安裝路徑)那個「空格括號x86」讓程式執行錯誤。

所以學保哥用 Process Explorer 找出 ASP.NET 開發伺服器的執行路徑,從 cmd.exe 去啟動(而不是 F5 呼叫 ASP.NET 開發伺服器)。

C:\> "C:\Progra~2\Common Files\Microsoft Shared\DevServer\10.0\WebDev.WebServer20.exe"  /port:1234 /path:"D:\Projects\TEST" /vpath:"/TEST"

啟動後因為無法直接進 Debug Mode,所以要使用「附加至處理序」來把除錯工具綁到 WebDev.WebServer.EXE / WebDev.WebServer20.EXE 上頭:

  • Visual Studio 2010: 工具 > 附加至處理序
  • Visual Studio 2015: 除錯 > 附加至處理序

這樣就暫時好了,嗚嗚。 T_T

arrow
arrow

    小攻城師 發表在 痞客邦 留言(0) 人氣()