我的TableAdapter是在ADO.NET数据集中定义的。在SSMS中,我的存储过程在50秒内执行。当我试图在应用程序中执行它时,我得到了超时。
如何为TableAdapter设置超时连接值
发布于 2017-05-23 08:01:04
我们可以在两个地方设置超时。
SqlConnectionSqlCommandSqlConnection具有ConnectionTimeout属性。它指定ADO.Net在尝试连接到服务器时等待的时间。如果没有连接到服务器(网络关闭/服务器未运行等),则会抛出异常。
SqlCommand具有CommandTimeout属性。它指定命令执行后返回结果的等待时间(调用Execute/ExecuteNoQuery等)。如果在指定时间内没有返回结果,则抛出异常。默认情况下,命令超时时间为30秒。因此,如果该命令耗时50秒,您将得到一个异常。
对于SqlConnection和SqlCommand,它很简单,只需在对象上设置属性值。
对于TableAdapter,有两种方法可以设置ConnectionTimeout (这两种方法都会产生相同的输出)。首先是在连接字符串中进行设置。其次是在为适配器设置连接时,在Advanced属性对话框中设置它。
对于CommandTimeout,您需要从超时的适配器访问特定命令。如果select命令失效,您可以使用以下命令:
var ta = new YouTableAdapter();
ta.Adapter.SelectCommand.CommandTimeout = 100;发布于 2017-05-23 07:02:04
https://stackoverflow.com/questions/44123325
复制相似问题