首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >c# -由于超时,Tableadapter无法工作

c# -由于超时,Tableadapter无法工作
EN

Stack Overflow用户
提问于 2017-05-23 06:59:06
回答 2查看 2.2K关注 0票数 2

我的TableAdapter是在ADO.NET数据集中定义的。在SSMS中,我的存储过程在50秒内执行。当我试图在应用程序中执行它时,我得到了超时。

如何为TableAdapter设置超时连接值

EN

回答 2

Stack Overflow用户

发布于 2017-05-23 08:01:04

我们可以在两个地方设置超时。

  1. SqlConnection
  2. SqlCommand

SqlConnection具有ConnectionTimeout属性。它指定ADO.Net在尝试连接到服务器时等待的时间。如果没有连接到服务器(网络关闭/服务器未运行等),则会抛出异常。

SqlCommand具有CommandTimeout属性。它指定命令执行后返回结果的等待时间(调用Execute/ExecuteNoQuery等)。如果在指定时间内没有返回结果,则抛出异常。默认情况下,命令超时时间为30秒。因此,如果该命令耗时50秒,您将得到一个异常。

对于SqlConnectionSqlCommand,它很简单,只需在对象上设置属性值。

对于TableAdapter,有两种方法可以设置ConnectionTimeout (这两种方法都会产生相同的输出)。首先是在连接字符串中进行设置。其次是在为适配器设置连接时,在Advanced属性对话框中设置它。

对于CommandTimeout,您需要从超时的适配器访问特定命令。如果select命令失效,您可以使用以下命令:

代码语言:javascript
复制
var ta = new YouTableAdapter();
ta.Adapter.SelectCommand.CommandTimeout = 100;
票数 2
EN

Stack Overflow用户

发布于 2017-05-23 07:02:04

您需要更改连接字符串的超时时间,而不是表适配器的超时时间:

Connection timeout for SQL server

祝好运。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44123325

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档