2009-09-08 49 views
0

我有一個計劃,將使用應用程序角色將數據寫入到SQL Server 2005。應用程序角色在程序網絡連接的SQL Server的

using (SqlConnection sqlCon = new SqlConnection(connectionString)) 
{ 
    SqlCommand sqlCommand = new SqlCommand(); 
    sqlCommand.Connection = sqlCon; 
    sqlCommand.CommandType = CommandType.Text; 
    sqlCommand.CommandText = 
       "EXEC sp_setapprole 'application Role name','password';"; 
    sqlCommand.CommandText += sqlComm; 
    sqlCommand.CommandTimeout = 300; 

    sqlCon.Open(); 
    int res = sqlCommand.ExecuteNonQuery(); 
} 

此代碼是在一個循環。這是第一次,沒關係。在第二個迭代器中,它拋出異常。

該連接已被刪除,因爲隨後打開它的主體假定新的安全上下文,然後嘗試重置其模擬安全上下文下的連接。這種情況不受支持。請參閱聯機叢書中的「模擬概述」。 事件ID 18059 源MSSQLSERVER

以前有沒有人遇到過這個問題?

最好的問候,

+0

你能後循環的代碼,是沒有任何理由的SqlCommand對象不裹using語句? – Kane 2009-09-08 08:34:59

回答

1

關閉連接池,明確。默認情況下是打開的,並且連接池不能與像Approvals一樣的不可逆轉的模擬工作。

相關問題