這更具體地說是與SQL Server Reporting Services相關,但我也將其視爲典型的.Net應用程序問題。Oracle與.Net的連接 - 連接池
這是問題所在。我們正在使用SSRS報告來自Oracle數據庫的數據。從第1天起,我們的用戶抱怨他們得到如ORA-2396的錯誤:超出最大空閒時間,ORA-01012-未登錄等。
我們已經包括DBA,應用程序開發人員,網絡工程師,但到目前爲止,我們可以沒有找到更好的線索。最近在進行一些研究時,我發現很多人都記錄了一個與.Net連接到oracle的「已知」問題。就像他們提到的那樣,如果我們使用連接池,那麼即使沒有用的連接也可能在池中可用。在下一次請求時,可能會使用此連接,並在此時拋出錯誤。正如我們的DBA所證實的,我們的oracle實例被設置爲在連接X分鐘空閒時終止連接。
下面是它具有上述提到 http://msdn.microsoft.com/en-us/library/8xx3tyca(v=VS.90).aspx
http://www.codeproject.com/KB/dotnet/ADONET_ConnectionPooling.aspx
有幾個得更爲出色的鏈接。然而,我沒有得到任何確認的聲明,說是的,這是目前的問題(最新版本的.Net和oracle等)。
在解決方案部分,他們提到我們將使用「Validate Connection = true」屬性作爲連接字符串的一部分。但如果我嘗試使用它,它會顯示「不支持關鍵字 - 驗證連接」。 (我也嘗試過Validcon)
問題我有這些 1.是否確認從連接池問題中讀取「髒」存在? 2.如果有,解決方案是什麼? 3.如果不是,可能是導致我們結束的問題。
如果您需要更多信息,請隨時發表評論。
有效的SQL Server連接字符串在這裏:http://msdn.microsoft.com/en-我們/庫/ system.data.sqlclient.sqlconnection.connectionstring.aspx。您可能想嘗試關閉連接池:將最大池大小設置爲1來執行此操作。 –
根據組織政策,禁止有關限制池大小或關閉池的選項。 –