当我传递一组长时间运行的SQL语句时,我有以下一些代码超时。我正在使用SQL Server 2008中的Microsoft.SqlServer.Management.Smo库。
Using cn As SqlConnection = GetConnection(_destinationCNS, True)
Dim smoServer As New Microsoft.SqlServer.Management.Smo.Server(New ServerConnection(cn))
Dim db As Microsoft.SqlServer.Management.Smo.Database = smoServer.Databases(_destinationDBName)
db.ExecuteNonQuery(_script)
End Using
我无法确定在哪里声明超时持续时间。我应该为语句执行设置超时持续时间,而不是连接超时。在SQLCommand对象上有一个方便的CommandTimeout属性,但我在这里没有看到类似的东西。
答案 0 :(得分:2)
您是否尝试在服务器对象上设置ConnectionContext.StatementTimeout?
smoServer.ConnectionContext.StatementTimeout = 6000;
那将是100分钟。