打开SQL连接时,我的作业似乎挂起。再现问题的一个例子如下:Powershell作业在打开SqlConnection时冻结
$myJob = start-job -ScriptBlock {
$connection_string = [string]::Format("Data Source={0};Initial Catalog={1};User ID={2}; Password={3};Connection Timeout=5", "my_sql_server", "my_database", "my_user", "my_password");
$connection = New-Object System.Data.SqlClient.SqlConnection -ArgumentList $connection_string;
Write-Output "Opening Connection...";
$connection.Open();
Write-Output "Connection Opened!";
}
当我看着$ myJob,它总是在运行,与输出“打开连接...”的状态。如果我在一个作业块之外运行相同的代码,它运行良好。
如何在作业中正确打开SqlConnection?
编辑:
这里是$ myJob的属性:
PS C:\Documents and Settings\agprax>>> $myJob
Id Name State HasMoreData Location Command
-- ---- ----- ----------- -------- -------
3 Administrator Running True localhost ...
这里是作业的输出:
PS C:\Documents and Settings\agprax>>> Receive-Job $myJob
Opening Connection...
我在这里运行你的代码,它工作正常。还有一些你没有告诉的东西。 – 2011-05-05 03:21:03
您可以报告在控制台上打印'$ myJob'时看到的信息吗?例如,请尝试'receive-job -job $ myJob'。 – 2011-05-05 05:33:06
@empo请参阅编辑。 – 2011-05-05 16:11:39