【发布时间】:2018-04-14 21:00:56
【问题描述】:
我有一个连接到 SQL Server 2012 数据库的 powershell 脚本,该脚本运行 SQL 查询并将结果集放入数据表中,以将格式化的电子邮件发送给相关方。下面是问题所在的代码sn-p:
$CBA = New-Object System.Data.DataSet "CBAData"
$sqlConn = New-Object System.Data.SqlClient.SqlConnection("Data Source=DataSource;Initial Catalog=DataCatalog;Integrated Security = False;Connection Timeout=800;User ID = user; Password =pwd;")
$adapter = New-Object System.Data.SqlClient.SqlDataAdapter($CBAData, $sqlConn)
$adapter.Fill($CBA)
运行脚本时出现以下错误:
Exception calling "Fill" with "1" argument(s): "Execution Timeout Expired. The timeout period elapsed prior to completion of the operation or the server is not responding."
我尝试增加 SqlConnection 字符串的超时时间,从最初设置的 360 逐渐增加到现在的 800,但仍然遇到同样的问题。有没有人深入了解这里到底是什么问题?以及如何克服它?
提前谢谢你。
【问题讨论】:
-
不是连接超时,而是执行超时不同。您连接到服务器而没有收到超时错误,但您尝试执行的查询未在 30 秒内完成
-
奇怪。查询确实是位资源密集型,但有没有办法手动设置执行超时?
标签: sql-server powershell sql-server-2012 powershell-4.0