[英]OracleClient, intermittent connection issue: app hangs on OracleConnection.Open(), no timeout, no exception thrown
應用程序可以正常工作,並且每次都可以從應該部署它的服務器以外的任何機器上進行連接:/當在服務器上運行時,它設法以20次或類似的嘗試連接一次。 從時髦的症狀來看,我懷疑這是某種與網絡配置相關的問題(例如在某些隨機丟失的數據包中?),但是我的網絡管理員同事嘗試了許多不同的設置,但我們無法找到原因/解決方案。
每條建議都將不勝感激,因為這嚴重地使我發瘋。 我想知道切換到ODP.NET是否可以解決該問題,或者至少可以使其更容易排除故障(我已經讀過MS的提供程序不是很穩定)。 但是,由於該體系結構不是很靈活,因此切換將花費大量時間。 但是如果這是唯一合理的事情...
我正在使用的一段代碼:
DbConnection conn = new OracleConnection();
conn.ConnectionString = _connectionString;
try
{
conn.Open();
DbCommand cmd = conn.CreateCommand();
cmd.CommandText = "select sysdate from dual";
cmd.Connection = conn;
_logger.Info("Sysdate: " + cmd.ExecuteScalar().ToString());
}
catch (OracleException oex)
{
_logger.ErrorException("Oracle exception: " + oex.Message, oex);
}
catch (Exception ex)
{
_logger.ErrorException("Exception: " + ex.Message, ex);
}
finally
{
if (conn != null) conn.Close();
}
更多信息:
Data Source=ip_address:port_number/instance;Persist Security Info=True;User ID=user;Password=passwd
由於使用WCF將數據從服務傳輸到Oracle時遇到了一些錯誤問題,我們最終使用了ODP.NET。 我不記得實際的問題-認為某些數據類型無法正常工作-但最終對我們來說效果很好。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.