2011-05-05 52 views
2

打開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... 
+1

我在這裏運行你的代碼,它工作正常。還有一些你沒有告訴的東西。 – 2011-05-05 03:21:03

+0

您可以報告在控制檯上打印'$ myJob'時看到的信息嗎?例如,請嘗試'receive-job -job $ myJob'。 – 2011-05-05 05:33:06

+0

@empo請參閱編輯。 – 2011-05-05 16:11:39

回答

0

,您在運行什麼操作系統這份工作?值得注意的是,在Connect上提交的錯誤似乎與您遇到的問題有關。

https://connect.microsoft.com/PowerShell/feedback/details/499499/adding-a-snapin-add-pssnapin-from-within-a-job-start-job-causes-job-to-hang-indefinitely

+0

你的鏈接似乎是一個非常類似的錯誤,我所擁有的。我試着在Windows XP Pro和Windows 2003 Server上運行這個腳本,結果相同。鑑於這個漏洞已經在近2年時間裏發生了,並且只發生在XP和Windows 2003 Server上,我懷疑它會永遠得到修復。 – 2011-06-17 16:09:10

相關問題