【问题标题】:Create assembly in SQL在 SQL 中创建程序集
【发布时间】:2016-01-27 00:24:05
【问题描述】:

我尝试创建程序集:

使用 PERMISSION_SET = UNSAFE 从“C:\Development\TestStas\SendSmsWSIntegration\SendSmsWSIntegration\SendSmsWSIntegration\bin\Debug\SendSmsWSIntegration.dll”创建组件 SendSmsWSI

并收到此错误:

消息 10301,第 16 级,状态 1,第 1 行 程序集“SendSmsWSIntegration”引用程序集“system.servicemodel, version=4.0.0.0,culture=neutral, publickeytoken=b77a5c561934e089.”,当前数据库中不存在。 SQL Server 试图从引用程序集所在的同一位置定位并自动加载引用程序集,但该操作失败(原因:2(系统找不到指定的文件。))。请将引用的程序集加载到当前数据库中,然后重试您的请求。

然后我尝试了:

创建程序集 [系统.服务模型] 来自'C:\Windows\Microsoft.NET\Framework64\v4.0.30319\System.ServiceModel.dll'with permission_set = 不安全

但是在这里,我有这种错误:

消息 6544,第 16 级,状态 1,第 12 行 为程序集“System.ServiceModel”创建程序集失败,因为程序集“microsoft.visualbasic.activities.compiler”格式错误或不是纯 .NET 程序集。 无法验证的 PE 标头/本机存根。

为了创建我提到的第一个程序集,我做了什么?

先谢谢了。

【问题讨论】:

  • 您在哪个版本的 SQL Server 上执行此操作? Update your question's tags 提供此信息。
  • Microsoft SQL Server 2014
  • 我编辑了你的问题并更新了你的标签,以后你应该尝试自己做。我还删除了我的答案,因为只有在您运行 2008 R2 或更早版本时它才是正确答案。

标签: sql .net sql-server-2014


【解决方案1】:

您不能在 SQLCLR 中使用 WCF。我刚刚在我的本地 2016 CTP3 上进行了测试,它仍然给出了同样的错误。有一个问题,在这里标记为“不会修复”https://connect.microsoft.com/SQLServer/Feedback/Details/809697 - 他们只是提供了支持程序集的官方列表的链接:

  • Microsoft.VisualBasic.dll
  • Mscorlib.dll
  • System.Data.dll
  • System.dll
  • System.Xml.dll
  • Microsoft.VisualC.dll
  • CustomMarshalers.dll
  • System.Security.dll
  • System.Web.Services.dll
  • System.Data.SqlXml.dll
  • System.Transactions.dll
  • System.Data.OracleClient.dll
  • System.Configuration.dll

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-03-15
    • 2018-05-19
    • 1970-01-01
    • 2014-01-24
    • 2011-11-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多