操作系统:window server 2012 R2 Datacenter 数据库:sql server 2012
问题现象:制作CLR与生成sql server函数没有产生异常,但是引用函数的时候,函数没有效果(比如我的DLL是一个加解密函数,但是sql server调用没有进行加解密)
目前已排除问题项:生成的DLL没有问题,本地sql server2012 引用相同的DLL生成函数没有任何问题,且函数具备相关功能
操作系统:window server 2012 R2 Datacenter 数据库:sql server 2012
问题现象:制作CLR与生成sql server函数没有产生异常,但是引用函数的时候,函数没有效果(比如我的DLL是一个加解密函数,但是sql server调用没有进行加解密)
目前已排除问题项:生成的DLL没有问题,本地sql server2012 引用相同的DLL生成函数没有任何问题,且函数具备相关功能
首先,我建议您确保在SQL Server中正确启用了CLR集成。可以使用以下T-SQL脚本来检查:
SELECT name, value
FROM sys.configurations
WHERE name like '%clr%'
如果运行结果中的'clr enabled' 值为 1,那么 CLR 已启用。如果为 0,则您需要使用以下脚本来启用它:
sp_configure 'clr enabled', 1;
GO
RECONFIGURE
GO
同样地,您可以使用以下脚本来确定ACL是否正确或指定:
SELECT name, value, value_in_use, minimum, maximum, [description]
FROM sys.configurations
WHERE name like '%user%';
如果您的 CLR 函数需要访问某些资源,那么您需要确保 SQL Server 已许可相关的帐户或用户。可以使用以下T-SQL脚本来查看有关帐户的详细信息:
EXEC sp_helpuser '<>';
最后,我建议您检查CLR函数是否符合要求。CLR函数必须在C#代码级别正确实现,并且必须包括正确引用的DLL。在创建CLR函数之前,您需要确定使用的语言和框架版本,以便正确配置CLR环境。
希望这些提示能对您有所帮助!