SQL Server 之 存储过程调用C#编写的dll文件

新建C#类库,编译。

添加引用

using Microsoft.SqlServer.Server;

方法

[SqlFunction]
public static int GenerateTxt()
{
   ......
}

修改数据库配置

---修改配置
exec sp_configure 'clr enabled', 1;
reconfigure;

根据dll路径注册程序集

--从dll中抽取中间语言(IL)
USE erp303_szzb_szpa
CREATE ASSEMBLY CustomerInfoInterface FROM 'E:StudyVS2010PingAnCustomerInfoInterfacePingAnCustomerInfoInterfaceinDebugPingAnCustomerInfoInterface.dll'

调用

 IF EXISTS ( SELECT  *
            FROM    sysobjects
            WHERE   id = OBJECT_ID('OnTimeWork') ) 
    BEGIN 
        DROP PROCEDURE OnTimeWork
    END 
GO
CREATE PROCEDURE OnTimeWork
AS EXTERNAL NAME 
    [PingAnCustomerInfoInterface].[PingAnCustomerInfoInterface.GetCustomerInfo].[GenerateTxt]
GO

 

注意函数调用方法:[AssemblyName].[AssemblyName.ClassName].[FunctionName]

原文地址:https://www.cnblogs.com/lideqiang/p/4474336.html