0

当我试图执行一个 clr sproc 时(仍然在 C# IDE 中)我有权限错误。错误是“请求'System.Data.SqlClient.SqlClientPermission类型的权限,...失败”,我在网上看了看,它似乎回到了IIS设置(我没有使用IIS,我也没有使用一个网站,所以这些解决方案不适用于我),现在我也为此尝试了两个单独的连接字符串(上下文连接 = true,以及我通常这样做的方式,这是一个巨大的长连接字符串,它说它是受信任的连接和数据库名称),但都返回相同的权限失败。

任何帮助将不胜感激

4

2 回答 2

1

您的 SQL Server 实例中是否启用了 CLR?

您可以通过对您的 SQL 服务器运行以下 SQL 语句来启用它:

sp_configure 'clr enabled', 1 GO

一旦运行,程序集需要注册到 SQL:

CREATE ASSEMBLY ASSEMBLYNAME FROM 'Full path to assembly' --eg C:\sproc.dll WITH Permission_SET = SAFE GO

像这样创建存储过程(如果您还没有) CREATE PROC clrsp_InsertEmployee (
逗号分隔参数 ) --参数示例 @City VARCHAR(25), @state VARCHAR(2)
AS EXTERNAL NAME AssemblyName.StoredProcedures.Function Go

让我知道这是否有帮助。除此之外,您可能需要根据您用来访问 SQL 的用户设置对表的权限。

于 2010-08-06T21:03:21.390 回答
0

与您的 DBA 讨论您的用户数据库权限。这可能不是代码中的问题。

于 2010-08-06T20:49:37.923 回答