连接SQL Server的程序中的应用程序角色

时间:2009-09-08 08:30:00

标签: c# sql-server

我有一个程序可以使用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

之前有没有人遇到过这个问题?

最诚挚的问候,

1 个答案:

答案 0 :(得分:1)

明确关闭连接池。默认情况下处于启用状态,并且连接池不适用于不可逆的模拟,例如审批。