重拾好久沒寫的 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
留言列表