手机
当前位置:查字典教程网 >编程开发 >mssql数据库 >SQL Server中调用C#类中的方法实例(使用.NET程序集)
SQL Server中调用C#类中的方法实例(使用.NET程序集)
摘要:需求是这样的,我在.net程序里操作数据时将一些字段数据加密了,这些数据是很多系统共用的,其中一delphi程序也需要用到,并且需要将数据解...

需求是这样的,我在.net程序里操作数据时将一些字段数据加密了,这些数据是很多系统共用的,其中一delphi程序也需要用到,并且需要将数据解密,由于我在.net里加密的方式比较特殊,在delphi程序里解密比较繁琐且要消耗很多时间,所以不得不让sqlserver调用程序集的方式来解决问题。

下面只是一个例子,贴出来共享。

建立一个dll,class,代码如下:

复制代码 代码如下:

namespace MyDll

{

public partial class MyClass

{

[SqlMethod]

public static SqlString UrlDecode(string value)

{

return new SqlString(HttpUtility.UrlDecode(value));

}

}

}

放到数据库服务器上。

之后运行下面的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:WINDOWSMicrosoft.NETFramework64v2.0.50727System.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里调用这个函数了。

复制代码 代码如下:

select dbo.SqlUrlDecode(Name) from Table

【SQL Server中调用C#类中的方法实例(使用.NET程序集)】相关文章:

SQL Server下几个危险的扩展存储过程

SQL server 2005中设置自动编号字段的方法

SQL Server中网络备份一例

SQL Server SQL Agent服务使用教程小结

SQL Server 中调整自增字段的当前初始值

SQLServer基础语法实例应用(三)

SQL Server 2008 数据库中创建只读用户的方法

SQL Server 2005中更改sa的用户名的方法

SQL Server 2008 新特性 总结复习(一)

SQL Server数据库中的存储过程介绍

精品推荐
分类导航