2011-08-13 51 views
2

我使用Sql Server powershell snapses(即「SqlServerProviderSnapin100」,「SqlServerCmdletSnapin100」)。我使用powershell執行腳本,但是當我嘗試再次執行它們時,我得到「管道的另一端沒有進程」共享內存錯誤。我需要關閉Powershell,並在重新啓動之前重新啓動它。如何使用powershell完成時關閉sql server連接?

看來,powershell保持連接打開,這是阻止重新執行腳本。

有誰知道如何解決這個問題?

謝謝。

+0

通常任何打開的連接都必須關閉或處置。所以尋找這個名字的方法。我不知道這個單元,所以不能更具體。 – stej

回答

3

我找到了答案。

問題:ADO連接池一旦打開就會保持連接。 Sql Server關閉連接,但池不知道這一點,因此,ADO假定連接仍然有效,但事實並非如此。

解決方案:首先執行[System.Data.SqlClient.SqlConnection] :: ClearAllPools()。這會使ADO當前在池中保留的所有連接失效,並阻止該異常。