64位系統 VS2010 各種問題 及 提示“ORA-06413: 連線未開啟”
反映有一個工具連線ORACLE資料庫的時候提示“ORA-06413 連線未開啟錯誤”,PL/SQL、sqlplus、其它應用程式均可以正常登陸。之前沒有遇到這樣的錯誤,於是在ORACLE錯誤資訊中找到下面相關解釋:
ORA-06413 Connection not open.
Cause: Unable to establish connection.
Action: Use diagnostic procedures to ascertain exact problem.
但是仍然沒有清晰的頭緒,後讓同事檢查了TNS的配置中是否使用的機器名,檢查環境變數設定等操作,沒有發現異常。
後來忽然想到,這應該是跟這個程式有關,於是讓同事檢查程式存放的路徑是怎樣的,發回來後,我發現程式存放的資料夾的命名中帶有“()”,於是讓同事把資料夾名中的“()”去掉後再試試,果然,去掉以後程式就可以正常連線了。
===================================================
今天在把asp.net系統改為oracle資料連線時,確實出了N多問題,到最後也一一解決了,
連線符:Data Source=SHServer;User ID=lcdtjk;Password=lcdtjk;Provider=MSDAORA
ORA-06413: 連線未開啟
連線資料庫的程式所在的路徑是不允許有怪字元的。
2010在windows 2008 64位版本下安裝時,預設有個program files ( x86 ) ,就是這個“()”引起的;
修改2010的安裝目錄,則在form程式中新建資料來源,測試通過了;
但是新建web程式,手寫連線資料庫,執行,仍然提示“ORA-06413: 連線未開啟”;
原來在專案中執行web程式,預設是使用vs內建web伺服器(develop server),而這個內建伺服器的程式被安裝在了c:/program files(x86)/common files/ 下面,這裡也用到了”(“,因此造成了錯誤。
但是目前也沒有找到在安裝時能夠修改這個內建server的安裝路徑的地方。
所以這裡只用了一個方法繞開內建server。那就是使用本機IIS來除錯程式。在解決方案中,選中web專案點右鍵選屬性,在web標籤下可以把除錯伺服器該為本機iis。這是再除錯web程式,連線資料庫成功了。
把程式放在windows 2008 R2 64bit的伺服器上,處理Excel時出現上面的錯誤。
解決方法,是到伺服器的開啟IIS管理器。go to Application Pool,找到對應站點的池。右擊Advanced setting… 參考下圖,把Enable 32-Bit Application 設為由False 為True。