关于sql server:FileLoadException / Msg 10314运行CLR存储过程时出错

关于sql server:FileLoadException / Msg 10314运行CLR存储过程时出错

FileLoadException / Msg 10314 Error Running CLR Stored Procedure

尝试运行CLR存储的proc时收到以下错误。 任何帮助深表感谢。

1
2
3
4
5
6
7
8
9
Msg 10314, Level 16, State 11, Line 1
An error occurred in the Microsoft .NET Framework while trying to load assembly id 65752. The server may be running out of resources, or the assembly may not be trusted with PERMISSION_SET = EXTERNAL_ACCESS or UNSAFE. Run the query again, or check documentation to see how to solve the assembly trust issues. For more information about this error:
System.IO.FileLoadException: Could not load file or assembly 'orders, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. An error relating to security occurred. (Exception from HRESULT: 0x8013150A)
System.IO.FileLoadException:
   at System.Reflection.Assembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, Assembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection)
   at System.Reflection.Assembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, Assembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection)
   at System.Reflection.Assembly.InternalLoad(AssemblyName assemblyRef, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection)
   at System.Reflection.Assembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection)
   at System.Reflection.Assembly.Load(String assemblyString)

运行以下SQL命令,该问题似乎已解决。

1
2
3
4
5
USE database_name
GO

EXEC sp_changedbowner 'sa'
ALTER DATABASE database_name SET TRUSTWORTHY ON

使用任何CPU配置来构建项目。 当使用x86配置编译我自己的项目并尝试在x64 SQL Server上运行它时,我遇到了这个问题。


应用了以上所有建议,但失败了。
然后,我使用" Any CPU"选项重新编译了源代码,并且成功了!

该链接帮助:
SQL Server无法使用PERMISSION加载程序集


1
2
3
ALTER AUTHORIZATION ON DATABASE::mydb TO sa;
ALTER DATABASE [myDB] SET TRUSTWORTHY ON
GO

您的程序集是否执行文件I / O? 如果是这样,则必须授予程序集权限才能执行此操作。 在SSMS中:

  • 展开"数据库"
  • 展开数据库的节点
  • 展开"可编程性"
  • 展开"程序集"
  • 右键单击您的装配,选择属性
  • 在"常规"页面上,将"权限集"更改为"外部访问"

  • 推荐阅读

      脚本linux上运行命令?

      脚本linux上运行命令?,工具,代码,时间,密码,系统,环境,名字,位置,第三,下来,t

      linux运行脚本的命令?

      linux运行脚本的命令?,系统,工具,代码,服务,脚本,状态,密码,环境,位置,暂停,l

      linux显示错误命令?

      linux显示错误命令?,信息,系统,电脑,状态,时间,环境,命令,搜狐,密码,异常,虚

      linux退出错误命令的?

      linux退出错误命令的?,系统,电脑,环境,命令,位置,管理,工具,设备,终端,进程,L

      linux命令行运行中断?

      linux命令行运行中断?,连续,工作,系统,信息,程序,命令,设备,工具,网络,情况,L

      vim运行linux命令?

      vim运行linux命令?,系统,工作,信息,地址,命令,标准,时间,情况,工具,基础,linu

      linux下并行运行命令?

      linux下并行运行命令?,系统,服务,工作,命令,环境,网络,暂停,文件,脚本,参数,l

      linux没有该命令错误?

      linux没有该命令错误?,系统,第一,环境,命令,分析,软件,异常,文件,目录,空格,

      jar运行命令linux?

      jar运行命令linux?,项目,系统,平台,工具,上期,命令,选项,日志,文件名,目录,Li

      jar运行命令linux?

      jar运行命令linux?,项目,系统,平台,工具,上期,命令,选项,日志,文件名,目录,Li

      linux下并行运行命令?

      linux下并行运行命令?,系统,服务,工作,命令,环境,网络,暂停,文件,脚本,参数,l

      linux命令行后台运行?

      linux命令行后台运行?,服务,状态,标准,暂停,命令,后台,连续,地方,工作,方法,l

      脚本运行linux命令?

      脚本运行linux命令?,系统,环境,工具,工作,位置,底部,代码,发行,官网,终端,lin

      linux进程运行命令?

      linux进程运行命令?,系统,工作,状态,地址,信息,进程,基础,命令,管理,软件,lin

      linux显示运行命令?

      linux显示运行命令?,系统,服务,状态,信息,工具,数据,电脑,标准,管理,时间,如

      linux命令错误代码?

      linux命令错误代码?,系统,密码,电脑,网络,手机,网址,软件,代码,设备,老板,Lin

      linux运行vim命令?

      linux运行vim命令?,系统,工具,官方网站,模式,基础,数据,代码,环境,入口,命令

      linux监控命令运行?

      linux监控命令运行?,系统,工作,地址,信息,工具,情况,标准,环境,命令,状态,lin

      linux中命令停止运行?

      linux中命令停止运行?,系统,代码,第一,命令,进程,指令,程序,方法,接线,硬盘,l