System.Security.HostProtectionException:尝试执行CLR主机禁止的操作

时间:2015-02-02 00:43:51

标签: c# .net sql-server multithreading sqlclr

我在SQLCLR项目中使用线程,当我尝试运行用户定义的函数时,我收到以下错误。我该怎么做才能在项目中启用并行库和等待/异步等线程化的东西?

  

Ms 6522,Level 16,State 1,Line 4
  在执行用户定义的例程或聚合“CalculateInfo”期间发生.NET Framework错误:
  System.Security.HostProtectionException:尝试执行CLR主机禁止的操作。

     

受保护的资源(仅在完全信任的情况下可用)是:所有
  所需的资源是:同步,外部线程

     

System.Security.HostProtectionException:
  在UserDefinedFunctions.getData()
  在UserDefinedFunctions.CalculateInfo()

2 个答案:

答案 0 :(得分:12)

如您在其他问题Deploying SQLCLR project fails when creating assembly in database中所述,此错误需要以下内容:

ALTER ASSEMBLY [AssemblyName]
   WITH PERMISSION_SET = UNSAFE;

有关一般使用SQLCLR的详细信息,请访问:SQLCLR Info

答案 1 :(得分:0)

将Premission set field value设置为Unrestricted。