我已经深入到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验证程序错误消息(如果有)将跟随此消息
我刚刚遇到了完全相同的问题。
这是一个旧页面,但是首先,最重要的是,最后,DLL 必须 使用.NET 2.0构建。SqlServer 2005是使用.net2.0构建的,因为这是编写时的最新版本。SqlServer 2008可能也有相同的问题。
DLL和SqlServer必须都引用相同的.NET框架版本。一旦弄清楚了,就在2.0和shazam下创建了一个单独的项目!完美的第一次。
若要查看您的sql服务器使用的.net版本:
select * from sys.dm_clr_properties