Sql Server 数据库中调用dll文件的过程

1.首先新建一个空的解决方案,并添加一个类库,代码如下,编译并生产dll

using System;
using System.Collections.Generic;
using System.Data.SqlTypes;
using System.Linq;
using System.Text;
namespace TEST
{
  public class TestTrans
  {
    [Microsoft.SqlServer.Server.SqlFunction]
    public static SqlString GenerateDecryptString(string name)
    {
      string decode = string.Empty;
      decode = string.Format("HELLO WORLD {0}!", name);//DecryptString(dataXML.Value);
      SqlString sqlValue = new SqlString(decode);
      return sqlValue;
    }
  }
} 

2.启用CLR功能

默认情况下,SQL Server中的CLR是关闭的,所以我们需要执行如下命令打开CLR:

 exec sp_configure 'clr enabled',1
 reconfigure
 Go

3.将程序集引用到数据库中

CREATE ASSEMBLY testHelloWorld FROM 'C:\TEST.dll'   --('C:/TEST.dll'w为错误写法)

4.创建函数

CREATE FUNCTION dbo.clrHelloWorld
(
  @name as nvarchar(200)
)
RETURNS nvarchar(200)
 AS EXTERNAL NAME testHelloWorld.[TEST.TestTrans].GenerateDecryptString  

5.调用函数

SELECT dbo.clrHelloWorld('耿耿') 

6.执行结果

HELLO WORLD  耿耿!

总结

以上所述是小编给大家介绍的Sql Server 数据库中调用dll文件的过程,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

(0)

相关推荐

  • C#连接Oracle数据库使用Oracle.ManagedDataAccess.dll

    在刚接触C#的时候由于公司使用的就是Oracle数据库,那么C#怎么连接Oracle数据库就成了首要去掌握的知识点了.在那时没有ODP.NET,但visual studio却对Oralce数据库的调用进行了集成,就是下图中的这个,尽管现在使用这个的时候visual studio提醒过时的,但在那时却是非常好用的. 为什么现在visual studio中这个程序集依然能使用,有ODP.NET,单单要拿出Oracle.ManagedDataAccess.dll进行本文的重点呢? 1.visual s

  • PHP连接SQLSERVER 注意事项(附dll文件下载)

    环境: - Apache 2.2.6 - PHP 5.2.5 - SQL Server 2005 - Windows XP SP2 步骤: 1. 首先按通常做法配置好PHP5连接MS SQL Server 2. 下载正确版本的 ntwdblib.dll (2000.80.194.0),注意这个版本号,不是这个版本的dll 不起作用啊,刚开始搞了好久才发现这个问题,切记... 地址: http://www.jb51.net/dll/ntwdblib.dll.html 3. 覆盖 apache2.2

  • SQL Server 2008 安装SQLDMO.dll的方法

    ASP.NET利用它可以实现在线备份.还原数据库等各种功能. 由于客户的数据库和WEB服务不再同一台服务器,把网站部署在服务器上以后,运行程序,提示如下错误: Retrieving the COM class factory for component with CLSID {10020200-E260-11CF-AE68-00AA004A34D5} failed due to the following error: 80040154. 而客户又不想在这台电脑安装MSSQL,所以我们只需要在没

  • mssql 存储过程调用C#编写的DLL文件

    网上很有多类似的文章,但描述不完整,在某些关键的地方,少了相应的补充,以至于那些例子都无法测试通过. 我把其中的一种思路整理出来: 1. 准备DLL文件 首先,你需要新建一个类库工程,工程名没有要求,随意取为Test.新建一个类文件,例如: 复制代码 代码如下: using System; namespace Test { public class SayHello { public SayHello() { } public string Hi() { return "Hello!"

  • SQL 无法装载DLL Microsoft原因(无法修改sa密码)

    无法装载DLL Microsoft原因: 126(找不到指定的模块). U890帐套引入提示:"无法装载 DLL Microsoft提示您请误随意操作SQL数据库 以免对起 数据库造成不必要的麻烦 或该 DLL 所引用的某一 DLL.原因: 126(找不到指定的模块.)." 由于SQL2000的SA密码过于简单导致,被病毒恶意修改系统存储过程. 需要以下系统存储过程恢复. 注意:该方案只支持SQL2000 复制代码 代码如下: use master go --检查xp_cmdshell

  • 用VB生成DLL封装ASP连接数据库的代码

    这篇文章以VB生成的DLL封装ASP代码来连接数据库(以Access数据库为例). 一般情况下我们在用ASP连接Access的数据库时通常都会进行如下的操作 '//Proconn.asp <% dim ProConn set ProConn=Server.CreateObject("ADODB.CONNECTION") ProConn.Open "driver={Microsoft Access Driver (*.mdb)};uid=;pwd=123;DBQ=&quo

  • PHP Warning: PHP Startup: Unable to load dynamic library \ D:/php5/ext/php_mysqli.dll\

    今天在家启动PHP环境的时候,突然发现不能加载php_mysqli.dll了,网上找了一圈,没有解决方案! 在群里面受一哥们儿的启发,竟然解决了,如果你的问题还没有解决,请按下面的方法试试! apache下比如我的apache装在D盘,目录是D:/severs/apache PHP的目录是D:/servers/php5 这样,把D:/servers/php5/libmysql.dll拷贝到D:/servers/apache/bin这个目录下面 重启apache,问题迎刃而解!~~ iis下:将p

  • C#中实现在32位、64位系统下自动切换不同的SQLite dll文件

    直接上代码: using System; using System.Collections.Generic; using System.Windows.Forms; using System.Management; using System.IO; namespace SqliteAuto { static class Program { /// <summary> /// 应用程序的主入口点. /// </summary> [STAThread] static void Main

  • libmysql.dll与php.ini是否真的要拷贝到c:\windows目录下呢

    是否一定要这样做呢?很多网上的帖子都是人云亦云,别人说要,他也说要. 其实用的,每次重装系统,都这样拷一遍,折腾一遍,太辛苦了. 用过APMServ这个傻瓜式安装包的朋友可能会发觉,这个东西,在第一次安装后,以后重装系统也不会重新安装的,只要运行一下主程序,就可以运行WAMP的了,不用折腾一遍的. 可能有人会认为它把libmysql.dll拷贝到c:\windows目录下了,其实不是的,不信去找一找. 既然APMServ可以做到,那么我们也可以做得,比对了APMServ和我们安装的WAMP,找到

  • PHP连接SQLServer2005的实现方法(附ntwdblib.dll下载)

    php连接sql2005的问题,现在整合,同时把FAQ整合上. 我前面写的教程: 连接前配置系统: 1.检查文件 php5.2.5/ntwdblib.dll 默认下面有一个,不能连接再替换. 下载正确版本的 ntwdblib.dll (2000.80.194.0),地址: http://www.jb51.net/dll/ntwdblib.dll.html 2.配置php a.打开php.in将extension=php_mssql.dll的注释符号去掉. b.打开php.in将mssql.sec

随机推荐