sql server存储过程调用C#编写的DLL文件

本文介绍如何使用C#创建类库并将其与SQL Server集成,通过CLR(Common Language Runtime)实现自定义函数。主要内容包括类库的创建、DLL的生成及部署、SQL Server配置更改、程序集注册及存储过程创建。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

新建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:\Study\VS2010\PingAnCustomerInfoInterface\PingAnCustomerInfoInterface\bin\Debug\PingAnCustomerInfoInterface.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]

常见问题:

1.注册程序集是需要将dll拷贝到对应的服务器。

2.SQLSERVER2008R2支持的.net版本是3.5,与c#程序的.net版本不匹配

3.参数不匹配

转载于:https://www.cnblogs.com/KingUp/p/5729312.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值