标签:
程序集
MS-SQL 添加并引用 DLL 程序集
-
+
首页
MS-SQL 添加并引用 DLL 程序集
# 1.概述 MS-SQL 支持 DLL 类库文件打包之后,通过程序集的方式,被应用之后,可以在 T-SQL 编程时,直接应用程序集内的方法。这样,在项目中,数据库本身支持不了的应用,就可以轻松实现。 # 2.制作 DLL 文件 通过 VS 编程工具,生成 DLL 文件。 # 3.添加程序集 1) 执行创建语句 ```sql CREATE ASSEMBLY [SQLCLRTest] FROM 'D:\CLRTest\WebServiceImportSQL.dll' WITH PERMISSION_SET = UNSAFE ``` SQLCLRTest:程序集名称可自定义。 'D:\CLRTest\WebServiceImportSQL.dll' 地址—必须是服务器上的有效地址。 2) 如出现如下错误 可使用语句解决: ```sql Alter database [OrBitXI] set trustworthy on --你要操作的数据可能 ``` ![](/media//202010/2020-10-15_143120.png) 3) 如出现如下错误 可使用语句解决: ```sql Sp_changedbowner 'sa',true ``` ![](/media//202010/2020-10-15_143211.png) 4) 创建标量函数 ```sql CREATE FUNCTION [dbo].[CheckSN] ( @Url nvarchar(50), @Operator nvarchar(50), @LotSN nvarchar(50)) RETURNS nvarchar(MAX) WITH EXECUTE AS CALLER AS EXTERNAL NAME [SQLCLRTest].[WebServiceImportSQL.SQLCLRTest].[CheckSN] ``` 备注:函数名可以自己取名,函数参数要与DLL定义的方法一致 类型需要相对于 # 4.测试结果 1) 如果出现以下错误: ![](/media//202010/2020-10-15_143510.png) 原因是:.在dll 运行的时候有会动态生成文件:XXXXX. XmlSerializers.dll 我们需要手动添加这个类就可解决。 解决方案如下: 在 dll 程序,使用 Release 模式,可生产此文件 ![](/media//202010/2020-10-15_145622.png) 2)在数据库添加,右键新建程序集,手动添加 ![](/media//202010/2020-10-15_145655.png) ![](/media//202010/2020-10-15_145719.png) 3)如果出错误: ![](/media//202010/2020-10-15_145746.png) 解决方案如下: ```sql EXEC sp_configure 'clr enabled' , '1'; --0代表不允许,1代表运行 RECONFIGURE; ``` 4)如果出现如下错误:“没有连接的dll”,执行如下语句: ```sql CREATE ASSEMBLY [SQLCLRTest] FROM 'D:\CLRTest\WebServiceImportSQL.dll' ```
程序集
HB0005
.Net 平台应用与技巧
2022年11月2日 13:54
分享
上一篇
下一篇
目录
微信扫一扫
复制链接
手机扫一扫进行分享
复制链接
下载Markdown文件