当我尝试执行clr sproc时(仍在C#IDE中)我有权限错误。错误是“请求类型'System.Data.SqlClient.SqlClientPermission的权限,...失败”,我在网上看了看,它似乎回到了IIS设置(我没有使用IIS也不是我使用一个网站,所以这些解决方案不适用于我),现在我也尝试了两个单独的连接字符串(上下文连接=真,以及我通常这样做的方式,这是一个巨大的长期,它说它是一个受信任的连接和数据库名称)但两者都返回相同的权限失败。
非常感谢任何帮助
答案 0 :(得分:1)
是否在SQL服务器实例中启用了CLR?
您可以通过对SQL服务器运行以下SQL语句来启用它:
sp_configure'clr enabled',1 GO
运行此命令后,需要将程序集注册到SQL:
创建组装 的AssemblyName 从'完整路径到装配' - 例如。 C:\ sproc.dll WITH Permission_SET = SAFE GO
像这样创建存储过程(如果还没有)
CREATE PROC clrsp_InsertEmployee
(
以逗号分隔的参数) - 参数示例@City VARCHAR(25),@ state VARCHAR(2)
作为外部名称AssemblyName.StoredProcedures.Function
转到
如果这有帮助,请告诉我。除此之外,您可能需要根据用于访问SQL的用户设置表的权限。
答案 1 :(得分:0)
与您的DBA讨论您的用户数据库权限。这可能不是代码中的问题。