sqlserver扩展函数使用dll
1.创建类库
namespace Core
{
public static class Globals
{
public static string test(string name)
{
return name;
}
}
}
2.启用CLR功能,不同版本默认开启与否不一样。
exec sp_configure 'clr enabled',1 reconfigure
3.sql创建程序集
CREATE ASSEMBLY testHelloWorld FROM 'C:\Core.dll'
4.创建函数
CREATE FUNCTION dbo.HelloWorld
(
@name as nvarchar(200)
)
RETURNS nvarchar(200)
AS EXTERNAL name testHelloWorld.[Core.Globals].test
5.调用函数
SELECT dbo.HelloWorld('hello world')
6.执行结果
| 未命名 | |
|---|---|
| 1 | hello world |
ALTER ASSEMBLY testHelloWorld FROM 'C:\test.dll'这句可以将最新版本的程序集注册到数据库中.
也可以删除程序集DROP ASSEMBLY testHelloWorld之后再执行CREATE ASSEMBLY testHelloWorld from 'C:\test.dll'语句