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:\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.參數不匹配


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM