一尘不染

无法在SQL中创建组件

sql

我已经深入到SQL clr编程。不幸的是我的第一次尝试很麻烦。我的C#汇编代码是这样的:

enter code here
public partial class FirstCLRRoutines
{
    public static int GetCLRFrameworkMajorVersion()
    {
        return System.Environment.Version.Major;
    }
}

SQL代码是:

USE master
GO
CREATE ASSEMBLY [Chapter2.FirstCLRRoutine]
FROM 'D:\projeler\SQL_CLR\SQL_CLR\bin\Debug\SQL_CLR.dll'

但是我从MSSMSE收到此错误消息:

消息6218,级别16,状态3,行1
为程序集“ SQL_CLR”创建装配失败,因为程序集“
SQL_CLR”验证失败。检查引用的程序集是否最新且受信任(对于external_access或不安全),以便在数据库中执行。CLR验证程序错误消息(如果有)将跟随此消息


阅读 163

收藏
2021-03-17

共1个答案

一尘不染

我刚刚遇到了完全相同的问题。

这是一个旧页面,但是首先,最重要的是,最后,DLL 必须 使用.NET 2.0构建。SqlServer 2005是使用.net2.0构建的,因为这是编写时的最新版本。SqlServer 2008可能也有相同的问题。

DLL和SqlServer必须都引用相同的.NET框架版本。一旦弄清楚了,就在2.0和shazam下创建了一个单独的项目!完美的第一次。

若要查看您的sql服务器使用的.net版本:

select * from sys.dm_clr_properties
2021-03-17