打開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