编译和部署CLR程序集

本文介绍了如何在SQL Server中启用和利用CLR集成,通过C#编写存储过程和函数。内容包括启用CLR集成、官方推荐的编译和部署方法,以及使用Visual Studio创建和发布SQL Server项目。示例展示了从编写简单代码到部署到目标数据库的完整过程,并提供了测试CLR功能的说明。

SQL Server CLR集成,让我们可以用C#编程,实现我们熟知的存储过程、函数及触发器等,然后部署到SQL Server。部署完成后,又可以用我们熟知的方式来调用。SQL Server CLR是T-SQL的一个很好的补充,因为它提供编程构造使得数据操作和计算更加容易。对于计算和复杂的执行逻辑,CLR托管代码比 T-SQL 更适合,它全面支持许多复杂的任务,包括字符串处理和正则表达式。通过 .NET Framework 库中提供的功能,可以访问数千个预生成的类和例程。可以很容易从任何存储过程、触发器或用户定义函数进行访问。我们有两种方式来编译和部署CLR程序集。

默认情况下,SQL ServerCLR集成功能是禁用的,因此,在讲编译和部署之前,先来启用CLR集成:

如果要禁用,只需将其设置为0。禁用时,SQL Server将停止执行所有CLR例程并卸载所有应用程序域。

 

下面看看如何编译和部署CLR程序集,首先是官方推荐的方式:

  1. 编写一个“Hello World”存储过程

  2. 编译该“Hello World”存储过程
    添加.NET Framework目录,并使用csc /target将helloworld.cs编译生成一个dll。

  3. 在SQL Server中加载和运行“Hello World”存储过程

第二种方式是通过VS编写和发布:

  1. 新建SQL Server项目
    打开VS2012,从模板里选择SQL Server,将项目名称改为pCLR,并选择位置,然后点击确定。

    这时,我们可以在SQL Server对象资源管理器里看到如下图所示的数据库pCLR。

    这时,我们可以在SQL Server对象资源管理器里看到如下图所示的数据库pCLR。这时,我们可以在SQL Server对象资源管理器里看到如下图所示的数据库pCLR。这时,我们可以在SQL Server对象资源管理器里看到如下图所示的数据库pCLR。这时,我们可以在SQL Server对象资源管理器里看到如下图所示的数据库pCLR。
  2. 导入目标数据库
    因项目自带的数据库不是我们想要的,因为实际应用中我们想把CRL部署到生产数据库。下面以Local的TESTDB为例。首先右击项目,选择“导入”,再选择“数据库”。通过编辑连接,连接到TESTDB。最后点击“启动”。

    最后点击“完成”

  3. 添加用户自定义函数
    如下图所示“添加新项”

    默认的code如下图所示:

    根据需要修改code:

    默认的code如下图所示
  4. 部署CLR
    右击项目,选择“发布”。如下图所示,进行目标数据库的设置。设置好后,点击“发布”:

  5. 测试CLR

以上演示均在VS2012+SQL Server 2012的环境中操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值