SQL Server中調(diào)用C#類中的方法實(shí)例(使用.NET程序集)
需求是這樣的,我在.net程序里操作數(shù)據(jù)時將一些字段數(shù)據(jù)加密了,這些數(shù)據(jù)是很多系統(tǒng)共用的,其中一delphi程序也需要用到,并且需要將數(shù)據(jù)解密,由于我在.net里加密的方式比較特殊,在delphi程序里解密比較繁瑣且要消耗很多時間,所以不得不讓sqlserver調(diào)用程序集的方式來解決問題。
下面只是一個例子,貼出來共享。
建立一個dll,class,代碼如下:
namespace MyDll
{
public partial class MyClass
{
[SqlMethod]
public static SqlString UrlDecode(string value)
{
return new SqlString(HttpUtility.UrlDecode(value));
}
}
}
放到數(shù)據(jù)庫服務(wù)器上。
之后運(yùn)行下面的T-SQL代碼:
EXEC sp_configure 'show advanced options','1';
GO
RECONFIGURE;
GO
EXEC sp_configure 'clr enabled','1'
RECONFIGURE;
GO
ALTER DATABASE DBName SET TRUSTWORTHY ON
GO
CREATE ASSEMBLY
[System.Web] FROM
'C:\WINDOWS\Microsoft.NET\Framework64\v2.0.50727\System.Web.dll'
WITH permission_set = UNSAFE
GO
CREATE ASSEMBLY SQL_CLR_Url
FROM 'C:\MyDLL.dll'
WITH PERMISSION_SET = UNSAFE
GO
CREATE FUNCTION SqlUrlDecode(@urlstr NVARCHAR(4000))
RETURNS NVARCHAR(4000)
AS
EXTERNAL NAME SQL_CLR_Url.[SqlClr.MyClass].UrlDecode
GO
然后就可以在T-SQL里調(diào)用這個函數(shù)了。
select dbo.SqlUrlDecode(Name) from Table
相關(guān)文章
Microsoft Search 服務(wù)無法啟動 解決辦法.
嘗試用正常系統(tǒng)的注冊表項(xiàng)添加到非正常系統(tǒng)中去。(因?yàn)閷Ρ鹊膬蓚€系統(tǒng)版本、結(jié)構(gòu)相同,所此次就直接通過導(dǎo)入導(dǎo)出注冊表項(xiàng)進(jìn)行批量修改)。2009-04-04
用sql腳本創(chuàng)建sqlserver數(shù)據(jù)庫觸發(fā)器范例語句
創(chuàng)建SqlServer數(shù)據(jù)庫觸發(fā)器腳本范例,方便大家用sql來創(chuàng)建觸發(fā)器,學(xué)習(xí)sqlserver的朋友可以參考下。2010-09-09
sqlserver數(shù)據(jù)庫高版本備份還原為低版本的方法
這篇文章主要為大家詳細(xì)介紹了sqlserver數(shù)據(jù)庫高版本備份還原為低版本的方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-11-11
使用SQL語句實(shí)現(xiàn)查詢排序,順序和倒序
這篇文章主要介紹了使用SQL語句實(shí)現(xiàn)查詢排序、順序和倒序,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-05-05
Windows故障轉(zhuǎn)移群集 和 SQLServer AlwaysOn 配置搭建詳
這篇文章主要介紹了Windows故障轉(zhuǎn)移群集 和 SQLServer AlwaysOn 搭建教程,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-03-03
Sql Server中Substring函數(shù)的用法實(shí)例解析
在sqlserver中substring函數(shù)是用來處理字符串的,常用于字符串截取了,下面我來給大家介紹下Sql Server中Substring函數(shù)的用法實(shí)例解析,需要的朋友參考下吧2016-12-12
SQLserver中字符串查找功能patindex和charindex的區(qū)別
CHARINDEX 和 PATINDEX 函數(shù)都返回指定模式的開始位置,PATINDEX 可使用通配符,而 CHARINDEX 不可以2012-05-05

