Tag: connection timeout

尽管连接字符串中有3秒超时,但Sql连接等待15秒

我有一个通过本地网络使用Microsoft SQL 2008服务器的网站。 有时,SQL服务器计算机重新启动,因此网站无法连接到数据库。 如果机器启动并运行,它将快速响应。 如果它已经关闭,则无需等待15秒。 3秒钟还可以。 我想在数据库无法访问时在网站上显示道歉,并希望快速完成。 但是在连接字符串中设置Connection Timeout=3似乎没有任何效果。 在SqlConnection.Open();上抛出SqlException之前,页面需要等待22秒SqlConnection.Open(); 。 它出什么问题了? 可能是一个隐藏的配置,它会覆盖超时? 目前,我的连接字符串是 Data Source=…; Initial Catalog=…; Integrated Security=True; Connection Timeout=3 如果我将它设置为…;ConnectionTimeout=3 (没有空格), System.ArgumentException: Keyword not supported: ‘connectiontimeout’. 被抛出(奇怪的是, MSDN文档表明我们可以使用这两个字符串)。

Connection.open无限期挂起,不会抛出任何exception

当我尝试执行以下代码时,程序将无限期挂起。 我不知道为什么,似乎还有其他未解答的话题。 虽然,如果无法访问IP \网站,那么它按预期工作。 private void DoStuff() { string connectionString = “Data Source=www.google.com;Connection Timeout=5”; using (SqlConnection connection = new SqlConnection(connectionString)) { connection.Open(); //Hangs here indefinitely Console.WriteLine(“Test”); } } 例如,如果我将连接字符串设置为 connectionString = “Data Source=www.nonexistentsite.com;Connection Timeout=5”; 然后它会抛出exception。 如何让它为活动站点抛出exception? …显然, 谷歌只是出于测试目的。 编辑: 如果我尝试连接到无法访问的服务器名称或IP地址,我将收到此exception… A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server […]

NHibernate:如何设置连接超时

在NHibernate连接失败(连接超时)之前,有没有办法全局设置等待连接到给定数据库的时间? 在ADO.NET中,您可以为这样的单个连接执行此操作: new SqlConnection().ConnectionTimeout = 10; 我发现如何在命令执行失败之前设置等待结果集的时间(命令超时)。 但是,显然,这不是我需要的

OracleDataAdapter,Fill方法挂起,如何处理连接终止/删除/删除?

我有一个C#程序连接到远程服务器来查询数据。 数据非常大,因此查询大约需要2分钟才能完成。 在这2分钟的窗口期间,互联网瘫痪了。 这导致作业无法完成程序停留在获取数据例程中。 它建立了连接,但在选择查询期间它被切断了。 将命令超时设置为30秒不起作用。 遇到此错误时,我需要查询失败,因为程序可以处理失败但无法处理卡住。 谢谢! 更新:包含的代码 OracleConnection connection = new OracleConnection(connectionstring); OracleDataAdapter oracleDataAdapter = new OracleDataAdapter(new OracleCommand(query, connection)); oracleDataAdapter.SelectCommand.CommandTimeout = 30; DataSet dataSet = new DataSet(); try { oracleDataAdapter.Fill(dataSet, table); //Hangs on this line when connection is lost return dataSet; } catch { throw; } finally { dataSet.Dispose(); oracleDataAdapter.Dispose(); } 再次更新: 我需要做的是处理这种情况,因为我不想要一个悬空过程。 […]