我有一个程序可以使用Application Role将数据写入SQL Server 2005。
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();
}
此代码处于循环中。这是第一次,没关系。在第二个迭代器中,它抛出异常。
连接已被删除,因为打开它的主体随后假定了一个新的安全上下文,然后尝试在其模拟的安全上下文下重置连接。不支持此方案。请参阅联机丛书中的“模拟概述”。 事件编号18059 来源MSSQLSERVER
之前有没有人遇到过这个问题?
最诚挚的问候,
答案 0 :(得分:1)
明确关闭连接池。默认情况下处于启用状态,并且连接池不适用于不可逆的模拟,例如审批。