一、編寫C#函數文件 1、新建一個類庫文件 備註:sqlserver 2008只能用.net3.5版本。 2、如有想加入強命名的話可如下步驟: 參考博文:https://blog.csdn.net/donnie88888888/article/details/52743064 1、運行在“開始菜單” ...
一、編寫C#函數文件
1、新建一個類庫文件
備註:sqlserver 2008只能用.net3.5版本。
2、如有想加入強命名的話可如下步驟:
參考博文:https://blog.csdn.net/donnie88888888/article/details/52743064
1、運行在“開始菜單”-“程式”-“Microsoft Visual Studio 2008”-“Visual Studio Tools”-“Visual Studio 2008命令提示”(使用這一命令行工作才能能任意路徑下執行VS命令行工具);
2、創建一個強名稱程式集密鑰文件文件
執行命令C:\sn -k keypair.snk
3、為類庫綁定密鑰文件
(1)a. 如果你有要引用的類庫的源代碼,可以在類庫項目中的AssemblyInfo.cs源文件中加入如下麵的屬性:
[assembly:AssemblyKeyFile("C:\keypair.snk")]
(如果有源代碼的情況下,也可以直接使用項目配置來使類庫項目直接生成並綁定密鑰對。配置如:右擊“類庫項目”->“屬性”->“簽名”選項卡->選擇“為程式集簽名”覆選框->“選擇強名稱密鑰文件(K):”下拉框->“新建”或“瀏覽”選擇一個已存在的密鑰文件。)
b. 生成項目即可得到擁有強名稱的類型庫
(2)如果你只有第三方的類庫(xxxxxx.dll)文件而沒有源碼項目的話,需要繼續做如下操作。
a. 使用類庫文件獲取微軟中間語言(MSIL)源碼文件。
C:\>ildasm xxxxxx.dll /out:xxxxxx.il
b. 使用MSIL源碼文件(xxxxxx.il)和新生成的(keypair.snk)密鑰文件創建新的程式集類庫文件
C:\>ilasm xxxxxx.il /dll /key=keypair.snk
二、資料庫引入dll文件
備註:中間可能需要打開通道,百度很多方法。
create assembly api from 'D:\Odoo\api\bin\Debug\api.dll' with permission_set = UNSAFE go
三、創建函數
create FUNCTION [dbo].[test]( ) RETURNS [nvarchar] WITH EXECUTE AS CALLER AS EXTERNAL NAME [api].[api.Class1].[test] GO
四、調用函數
print dbo.test()