如何解决无法加载文件或程序集'System.Drawing,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'或其依赖项之一
我有一个调用外部dll的SQL Server存储过程。存储过程代码如下:
作为调用程序执行 如 外部名称“某些外部dll”
我没有此dll的源代码,但是当我执行存储过程时,出现上述错误。我已经安装了.net framework 3.5和4.8,我可以看到服务器上有引用的dll,但似乎无法访问它?
所有权限都被授予,我还需要检查什么?
解决方法
SQL Server CLR永远不会从数据库外部加载程序集。您必须运行CREATE ASSEMBLY才能将每个从属程序集安装到数据库中。
但是,您不应使用.NET Framework程序集(例如System.Drawing)来执行此操作。每当服务器上更新.NET Framework时,都必须重新加载所有.NET Framework程序集。加上某些.NET Framework程序集是“混合模式”,SQL Server不允许您将它们安装在数据库中,此外,未测试或不支持在“祝福列表”中的少数几个.NET Framework程序集在SQL CLR中运行
The libraries/namespaces supported by CLR integration in SQL Server are:
CustomMarshalers
Microsoft.VisualBasic
Microsoft.VisualC
mscorlib
System
System.Configuration
System.Core
System.Data
System.Data.OracleClient
System.Data.SqlXml
System.Deployment
System.Security
System.Transactions
System.Web.Services
System.Xml
System.Xml.Linq
Supported .NET Framework Libraries
无论您做什么,都应该在SQL Server之外的单独过程中进行。这可以是PowerShell脚本,可以由SQL Agent,独立控制台应用程序等运行。
,好的问题解决了,是因为windows更新影响了.NET framework 4.8,我卸载了更新,现在可以用了!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。