最近剛接Oracle JDE 系統相關工作,維護ASP.NET程式卻發現連結 Oracle DB發生錯誤訊息,
"ORA-12154: TNS: 無法解析指定的連線 ID",聽同事說WIN7 64位元有安裝上的困難,決定一探究竟,在歷經幾番波折與奮鬥後,把資料彙整以供後來者減少挫折。
第一話:電腦的安裝步驟與執行環境
1.安裝Oracle Database 10g Client 管理員,執行Enterprise Manager 主控台
2.設定資料庫連線名稱: (偷吃步copy同事tnsnames.ora直接替換)
3.測試登入成功。
第二話: VS2008 ANP.NET 執行開發測試
1.程式檢查連線名稱正確,但錯誤依然
2.利用 Process Explorer 查看 WebDev.WebServer.EXE 程式,果然如參考文件所說時執行路徑中含有(x86)
3.將WebDev.WebServer.EXE執行緒中斷,再執行cmd 模式下剪貼執行Command Line 內容,但將"C:\Program Files (x86)\ 改為 "C:\PROGRA~2\...
再執行VS果然連線成功,證實 (x86) 含特殊符號是錯誤原因。
第三話: 以 IIS 取代 VS 中預設網頁伺服器執行測試
1.在控制台下window功能啟動IIS相關項目
2.執行IIS,新增網站實體路徑指定VS中開發網站位置,注意專案屬性 framework 3.5 以下的應用程式集區設定.Net Framework 2.0版本。
3.瀏覽測試網頁發現Oracle DB連線依然錯誤,不要緊張,有解的...請將該應用集區進階設定中的啟用32位元應用程式值設為True。
第四話: 王子終於救出公主了,哈哈!
後話: 請將VS專案屬性頁中伺服器改為自訂伺服器,URL改為IIS網站位置。
參考資料:
1. http://blog.miniasp.com/post/2009/08/Solve-ASPNET-cannot-connect-Oracle-DB-using-Development-Server.aspx
2. http://tw.knowledge.yahoo.com/question/question?qid=1611021600830
3. http://lyhdev.com/dotnet:x86_webapp_in_x64_iis7
沒有留言:
張貼留言