调试基于clr管理的sqlserver存储过程

1,exec sp_configure 'show advanced options', '1';
go
reconfigure;
go
exec sp_configure 'clr enabled', '1'
go
reconfigure;
exec sp_configure 'show advanced options', '1';
go

2,我执行已经写好的存储过程出现错误

消息 6522,级别 16,状态 1,过程 kaijiang,第 0 行
在执行用户定义例程或聚合 'kaijiang' 期间出现 .NET Framework 错误:
System.Security.SecurityException: Request for the permission of type 'System.Data.SqlClient.SqlClientPermission, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.
System.Security.SecurityException:
   at System.Security.CodeAccessSecurityEngine.Check(Object demand, StackCrawlMark& stackMark, Boolean isPermSet)
   at System.Security.PermissionSet.Demand()
   at System.Data.Common.DbConnectionOptions.DemandPermission()
   at System.Data.SqlClient.SqlConnection.PermissionDemand()
   at System.Data.SqlClient.SqlConnectionFactory.PermissionDemand(DbConnection outerConnection)
   at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
   at System.Data.SqlClient.SqlConnection.Open()
   at StoredProcedures.GetData(String sql)
   at StoredProcedures.KaiJiang(String flag, String murl)

3,我执行

   alter database fh set trustworthy on

4,ALTER ASSEMBLY asskaijiang
WITH PERMISSION_SET=EXTERNAL_ACCESS;  想设置为外部访问

 出现错误:

   针对程序集 'KaiJiang' 的 ALTER ASSEMBLY 失败,因为程序集 'KaiJiang' 未获授权(PERMISSION_SET = EXTERNAL_ACCESS)。 当符合以下两个条件之一时,将对程序集授权: 数据库所有

者(DBO)具有 EXTERNAL ACCESS ASSEMBLY 权限,而且数据库的 TRUSTWORTHY 属性处于打开状态;或者,程序集签名时所使用的证书或非对称密钥所对应的登录名具有 EXTERNAL

ACCESS ASSEMBLY 权限

5,我执行了

  

USE FH
GO

EXEC sp_changedbowner 'SA'
6 OK
 
注意:当源代码变化的时候一定要重新创建

转载于:https://www.cnblogs.com/laogao/archive/2012/01/29/2331518.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值