【发布时间】:2018-05-19 03:25:33
【问题描述】:
我打算将带有 SQL 函数的 .NET 程序集导入 MS SQL Server。
我一直在尝试这样导入:
CREATE ASSEMBLY [AssemblyName]
AUTHORIZATION [dbo]
FROM 0x4D5A9000030...
它是由我在 Visual Studio 中的 SQL 项目生成的
之后我还需要创建引用的程序集,例如“Microsoft.CSharp”
CREATE ASSEMBLY [Microsoft.CSharp]
FROM 'path to dll'
WITH PERMISSION_SET = UNSAFE
然后我得到这样的错误:
程序集“Microsoft.CSharp”引用程序集“system.dynamic, version=4.0.0.0,culture=neutral, publickeytoken=b03f5f7f11d50a3a.”,当前数据库中不存在。 SQL Server 试图从引用程序集所在的同一位置定位并自动加载引用程序集,但该操作失败(原因:2(系统找不到指定的文件。))。请将引用的程序集加载到当前数据库中,然后重试您的请求。
现在我真的不明白。据我所知,System.Dynamic 不是程序集,而是 System.Core.dll 中的命名空间。并且 System.Core 受 MS SQL Server 支持并默认导入。有什么办法可以解决此类问题并成功导入此类程序集?
【问题讨论】:
-
对此不是 100% 确定,但我认为 Microsoft.CSharp 之类的东西在 GAC 中,不需要注册。
标签: c# .net sql-server