寫C#程式掛在SSMS
1. 寫好 .cs 檔
步驟:新增 SQL Server 專案 --> 在加入 使用者定義函式 --> 撰寫程式
using System;
using System.Data;
using System.Data.SqlClient;
using System.Data.SqlTypes;
using Microsoft.SqlServer.Server;
public partial class UserDefinedFunctions
{
[Microsoft.SqlServer.Server.SqlFunction]
public static SqlString SqlFunction1()
{
// 將程式碼放在此處
return new SqlString (string.Empty);
}
}
2. 在CMD下指令:
C:\Windows\Microsoft.NET\Framework\v3.5> csc.exe /t:library /out:FunName.dll c:\FunName.cs
//FunName.dll 檔案會在 C:\Windows\Microsoft.NET\Framework\v3.5
3.在SSMS下指令
Use DBName
ALTER DATABASE master SET TRUSTWORTHY ON
Go
--Create Assembly
--PERMISSION_SET特殊使用才需要設定為UNSAFE (注意程式是否有Console)
Use DBName
Create ASSEMBLY AssemblyName
FROM 'c:\FunName.dll'
WITH PERMISSION_SET = SAFE
GO
--建立函數Create Function
CREATE FUNCTION FunName(@sText nvarchar(4000))
RETURNS NVARCHAR(4000) WITH EXECUTE AS CALLER
AS EXTERNAL NAME AssemblyName.ClassName.FunName
--執行SQL Function
select FunName( 'parameter' )
參考連結
SQL CLR的介紹與範例說明
SQL - 使用 SQLCLR 來實作 SPLIT
How to: Create and Run a SQL Server User-Defined Function by using Common Language Run-time Integration
1. 寫好 .cs 檔
步驟:新增 SQL Server 專案 --> 在加入 使用者定義函式 --> 撰寫程式
using System;
using System.Data;
using System.Data.SqlClient;
using System.Data.SqlTypes;
using Microsoft.SqlServer.Server;
public partial class UserDefinedFunctions
{
[Microsoft.SqlServer.Server.SqlFunction]
public static SqlString SqlFunction1()
{
// 將程式碼放在此處
return new SqlString (string.Empty);
}
}
2. 在CMD下指令:
C:\Windows\Microsoft.NET\Framework\v3.5> csc.exe /t:library /out:FunName.dll c:\FunName.cs
//FunName.dll 檔案會在 C:\Windows\Microsoft.NET\Framework\v3.5
3.在SSMS下指令
Use DBName
ALTER DATABASE master SET TRUSTWORTHY ON
Go
--Create Assembly
--PERMISSION_SET特殊使用才需要設定為UNSAFE (注意程式是否有Console)
Use DBName
Create ASSEMBLY AssemblyName
FROM 'c:\FunName.dll'
WITH PERMISSION_SET = SAFE
GO
--建立函數Create Function
CREATE FUNCTION FunName(@sText nvarchar(4000))
RETURNS NVARCHAR(4000) WITH EXECUTE AS CALLER
AS EXTERNAL NAME AssemblyName.ClassName.FunName
--執行SQL Function
select FunName( 'parameter' )
參考連結
SQL CLR的介紹與範例說明
SQL - 使用 SQLCLR 來實作 SPLIT
How to: Create and Run a SQL Server User-Defined Function by using Common Language Run-time Integration
留言
張貼留言