日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
深入.NET核心CLR函數(shù)使用舉例

可以在 SQL Server 實例中創(chuàng)建可在 Microsoft .NET Framework 公共語言運行時 (CLR) 中創(chuàng)建的程序集中進(jìn)行編程的數(shù)據(jù)庫對象??梢猿浞掷霉舱Z言運行時所提供的豐富的編程模式的數(shù)據(jù)庫對象包括聚合函數(shù)、函數(shù)、存儲過程、觸發(fā)器以及類型。

在 SQL Server 中創(chuàng)建 CLR 函數(shù)分為下列幾個步驟:

使用 .NET Framework 支持的語言將函數(shù)定義為類的靜態(tài)方法。然后,使用適當(dāng)?shù)恼Z言編譯器編譯該類,在 .NET Framework 中生成程序集。使用 CREATE ASSEMBLY 語句在 SQL Server 中注冊程序集。通過使用 CREATE FUNCTION 語句創(chuàng)建引用注冊程序集的函數(shù)。

注意:

在 Microsoft Visual Studio 中部署 SQL Server 項目將在為該項目指定的數(shù)據(jù)庫中注冊程序集。部署項目時,還會在數(shù)據(jù)庫中為使用 SqlFunction 屬性注釋的所有方法創(chuàng)建 CLR 函數(shù)。

注意:

默認(rèn)情況下,關(guān)閉 SQL Server 執(zhí)行 CLR 代碼的功能。您可以創(chuàng)建、更改和刪除引用托管代碼模塊的數(shù)據(jù)庫對象,但是除非通過使用 sp_configure (Transact-SQL) 啟用了 clr enabled 選項,否則這些引用將不會在 SQL Server 中執(zhí)行。

訪問外部資源

可以使用 CLR 函數(shù)訪問外部資源,例如文件、網(wǎng)絡(luò)資源、Web 服務(wù)及其他數(shù)據(jù)庫(包括 SQL Server 遠(yuǎn)程實例)。這可以通過使用 .NET Framework 中的各種類(例如 System.IO、System.WebServices 及 System.Sql 等)來實現(xiàn)。至少應(yīng)將包含此類函數(shù)的程序集配置為設(shè)置了 EXTERNAL_ACCESS 權(quán)限,才能實現(xiàn)此目的??梢允褂?SQL 客戶端托管訪問接口訪問 SQL Server 遠(yuǎn)程實例。但在 CLR 函數(shù)中不支持與發(fā)起服務(wù)器的環(huán)回連接。

示例如下:

***步:

第二步:

public class Class1
{
    public static string MySplit(int filedIndex, string filedName)
    {
        //filedIndex從1開始
        try
        {
            if (filedIndex == null || filedIndex <= 0 || filedName == null || filedName == "")
            {
                return "";
            }
            else
            {
                return filedName.Split('|')[filedIndex - 1].Trim();
            }

        }
        catch
        {
            return "";
        }
    }
}

//得到程序集 ClassLibrary1.dll

第三步:

CREATE ASSEMBLY Class1
AUTHORIZATION [dbo]
FROM 'C:\ClassLibrary1.dll'
WITH PERMISSION_SET = SAFE

第四步:

CREATE FUNCTION dbo.MySplit
(
 @filedIndex AS INT,
 @filedName AS NVARCHAR(255)
)
RETURNS NVARCHAR(255)
AS
EXTERNAL NAME Class1.Class1.MySplit

第五步(測試):

select dbo.MySplit(2,name) from mytesttable

以上測試通過!


當(dāng)前題目:深入.NET核心CLR函數(shù)使用舉例
網(wǎng)頁地址:http://www.dlmjj.cn/article/djosgjp.html