新建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拷贝到对应的服务器。

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

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

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

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

3.参数不匹配

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

相关文章:

  • 2022-12-23
  • 2021-12-05
  • 2022-03-01
  • 2021-09-12
  • 2022-12-23
  • 2021-08-30
  • 2022-12-23
  • 2021-10-01
猜你喜欢
  • 2022-12-23
  • 2021-08-21
  • 2022-12-23
  • 2021-11-17
  • 2021-07-03
  • 2021-12-29
  • 2022-12-23
相关资源
相似解决方案