侧边栏壁纸
博主头像
平凡之路博主等级

生活原本沉闷,但跑起来就会有风!

  • 累计撰写 82 篇文章
  • 累计创建 10 个标签
  • 累计收到 4 条评论

目 录CONTENT

文章目录

sqlserver数据库CLR集成DLL函数方法

平凡之路
2022-01-14 / 0 评论 / 0 点赞 / 414 阅读 / 807 字

扩展数据库没有的函数,比如sqlserver2012中不含的json解析,各种正则表达式。介绍下使用方法,提供一个网上找的扩展dll
扩展函数dll

1、SQLSERVER打开CLR集成功能
---开启所有服务器配置选项
EXEC sp_configure N'show advanced options', N'1'
RECONFIGURE WITH OVERRIDE
--开启clr enabled 选项
EXEC sp_configure N'clr enabled', N'1'
RECONFIGURE WITH OVERRIDE
--关闭所有服务器配置选项
EXEC sp_configure N'show advanced options', N'0'
RECONFIGURE WITH OVERRIDE
--如果存在权限问题,执行下面一段脚本
alter database [master] set TRUSTWORTHY on
EXEC sp_changedbowner 'sa'

或者界面操作
image.png

2、在需要添加程序集的数据库上打开信任程序集
ALTER DATABASE [Test] SET TRUSTWORTHY ON

3、在需要使用程序集的数据库下添加程序集,在数据库管理器中可编程性》程序集》添加

image.png

4、创建自定义函数
如:
CREATE FUNCTION [dbo].[JsonPath]
(@text NVARCHAR (MAX), @rowPath NVARCHAR (MAX), @columnPaths NVARCHAR (MAX))
RETURNS
TABLE (
[tableName] NVARCHAR (MAX) NULL,
[rowName] NVARCHAR (MAX) NULL,
[columnName] NVARCHAR (MAX) NULL,
[cellValue] NVARCHAR (MAX) NULL)
AS
EXTERNAL NAME [SQLExtension].[Function].[JsonPath]

5、调用自定义函数
例子:

image.png

0

评论区