SQL Server CLR 启用、部署
生活随笔
收集整理的這篇文章主要介紹了
SQL Server CLR 启用、部署
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
sqlserver啟用CLR exec sp_configure 'clr enabled',1 --1,啟用clr 0,禁用clr RECONFIGURE
SQL Server CLR 部署到某個數據庫后,便成為那個數據庫的一部分,即便備份及還原到其它機器上,它依然具有CLR帶來的功能。 SqlString 數據類型轉換成 nvarchar(4,000),而 SqlChars 轉換成 nvarchar(max)。盡可能使用 nvarchar(max) 并且最大程度地保證靈活性。然而,如果所有相關字符串包含的字符都少于 4,000 個,使用 nvarchar(4,000) 則性能可得到顯著改善。 CLR里返回的bool對應SQL Server里的bit,即:1/0/Null,而不是true/false,所以,沒法直接用dbo.ContainsOne(txtContent,'柳永法')實現bool形,而得這么用:dbo.ContainsOne(txtContent,'柳永法')=1
SQL Server CLR 部署到某個數據庫后,便成為那個數據庫的一部分,即便備份及還原到其它機器上,它依然具有CLR帶來的功能。 SqlString 數據類型轉換成 nvarchar(4,000),而 SqlChars 轉換成 nvarchar(max)。盡可能使用 nvarchar(max) 并且最大程度地保證靈活性。然而,如果所有相關字符串包含的字符都少于 4,000 個,使用 nvarchar(4,000) 則性能可得到顯著改善。 CLR里返回的bool對應SQL Server里的bit,即:1/0/Null,而不是true/false,所以,沒法直接用dbo.ContainsOne(txtContent,'柳永法')實現bool形,而得這么用:dbo.ContainsOne(txtContent,'柳永法')=1
?
添加CLR到數據庫中
CREATE ASSEMBLY [MyCLR]
AUTHORIZATION [dbo] FROM ……DLL文件二進制流,從用VS部署好的數據庫上生成出來的即可 WITH PERMISSION_SET = SAFE GO映射函數
CREATE FUNCTION [dbo].[Encrypt](@encryptString [nvarchar](4000), @key [nvarchar](4000))
RETURNS [nvarchar](4000) WITH EXECUTE AS CALLER
AS
EXTERNAL NAME [ MyCLR ].[UserDefinedFunctions].[Encrypt]
GO?
檢測是否可用
SELECT dbo. Encrypt('sadfsadf','12345678')
總結
以上是生活随笔為你收集整理的SQL Server CLR 启用、部署的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 存储过程和函数的区别
- 下一篇: How to use QueryPerf