中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

.NET中CLR函數如何使用

發布時間:2021-07-14 14:28:51 來源:億速云 閱讀:252 作者:Leah 欄目:編程語言

本篇文章為大家展示了.NET中CLR函數如何使用,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

在 SQL Server 中創建 CLR 函數分為下列幾個步驟:

使用 .NET Framework 支持的語言將函數定義為類的靜態方法。然后,使用適當的語言編譯器編譯該類,在 .NET Framework 中生成程序集。使用 CREATE ASSEMBLY 語句在 SQL Server 中注冊程序集。通過使用 CREATE FUNCTION 語句創建引用注冊程序集的函數。

注意:

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

注意:

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

訪問外部資源

可以使用 CLR 函數訪問外部資源,例如文件、網絡資源、Web 服務及其他數據庫(包括 SQL Server 遠程實例)。這可以通過使用 .NET Framework 中的各種類(例如 System.IO、System.WebServices 及 System.Sql 等)來實現。至少應將包含此類函數的程序集配置為設置了 EXTERNAL_ACCESS 權限,才能實現此目的。可以使用 SQL 客戶端托管訪問接口訪問 SQL Server 遠程實例。但在 CLR 函數中不支持與發起服務器的環回連接。

示例如下:

***步:

.NET中CLR函數如何使用

第二步:

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

上述內容就是.NET中CLR函數如何使用,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

clr
AI

岳普湖县| 浦东新区| 屏南县| 博兴县| 宁德市| 临安市| 五寨县| 延边| 襄城县| 胶州市| 丰镇市| 大方县| 临沂市| 专栏| 吴江市| 乡城县| 友谊县| 易门县| 靖州| 黄大仙区| 兰溪市| 宜丰县| 沈丘县| 兴义市| 岑溪市| 平果县| 东兰县| 柘城县| 沭阳县| 牡丹江市| 灵璧县| 霍城县| 奎屯市| 玉山县| 大埔区| 新化县| 石楼县| 镇康县| 呼和浩特市| 宁安市| 亚东县|