Sql2008中添加程序集(转)
一、示例演示
1、用C# 建立数据库 CRL 项目
{
[Microsoft.SqlServer.Server.SqlFunction]
public static SqlBoolean CLRFBitContains(string MyBigIntValue, int Row)
{
// 在此处放置代码
return (new MyBigInt(MyBigIntValue) & MyBigInt.CreateByBitPositon(Convert.ToUInt32(Row))) == MyBigInt.Zero;
}
}
2、数据库初始化
go
ALTER DATABASE DB_Name set TRUSTWORTHY on;
go
3、数据库添加程序集
from 'R:\MyApp\MyClr\MyClr\bin\Debug\MyClr.dll'
WITH permission_set = Safe;
4、数据库添加函数映射
二、在sqlserver中如果要使用一个程序集一般有如下注意事项
1、打开sqlserver 的CLR支持,即在Sql Server中执行这段代码可以开启CLR
go
2、是否需要访问外部资源,如果需要访问外部资源还需要执行下面的,即打开数据库的TRUSTWORTHY 属性
三、在sqlserver中如果要使用一个程序集一般有两种方法
方法一:通过T-SQL手动将该程序集放入到SQL Server 其步骤如下
1、创建将要使用的程序集.dll
程序上没什么稀奇的,跟普通的ado.net的程序差不多主要就是方法上加了一个属性 (<System.Data.Sql.SqlProcedure(name:="WriteHashedPassword")>)
2、部署程序集到sqlserver
a、打开sqlserver中clr中相关的支持(方法如上)
b、添加程序集到sqlserver
authorization dbo
from 'E:\test\dotnet\SqlServerProject1\SqlServerProject1\bin\SqlServerProject1.dll'
with permission_set=external_access
c、添加存储过程
WITH EXECUTE AS CALLER
AS
EXTERNAL NAME [程序集的名称].[StoredProcedures].[存储过程名称]
d、执行存储过程
方法二:通过Visual Studio 2005创建供并部署SQL Server 2005用的Assembly
1、打开Visual Studio 2005新建项目类型为数据库的sqlserver项目
2、创建所需要的存储过程,函数等
3、编译该项目
4、部署该项目(此时我们打开sqlserver相应的数据库可以看到存储过程目录及程序集等目录下有相应创建的对象了)
Sql2008中添加程序集(转)的更多相关文章
- ASP.NET Web Froms开发模式中实现程序集的延迟加载
延迟加载是一个很大的诱惑,可以达到一些比较好的效果,比如: 1.在实体框架中,由于关联数据的数量和使用时机是不确定的,通过延迟加载,仅在使用的时候去执行关联数据的查询操作,减少无谓的数据查询操作,可以 ...
- 【笔试&面试】C#中的程序集
1. C#中的程序集(Assembly) 答:程序集是包含一个或多个类型定义文件和资源文件的集合.它允许我们分离可重用类型的逻辑表示和物理表示. 程序集是一个可重用.可实施版本策略和安全策略 ...
- 在Win7中安装程序集到GAC
原文:在Win7中安装程序集到GAC 微软为提高系统安全,自Vista推出后,在Windows系统中加入了一个新的东东——UAC(User Account Control),这样一个新的技术使得许多操 ...
- 在asp.net core2.1中添加中间件以扩展Swashbuckle.AspNetCore3.0支持简单的文档访问权限控制
Swashbuckle.AspNetCore3.0 介绍 一个使用 ASP.NET Core 构建的 API 的 Swagger 工具.直接从您的路由,控制器和模型生成漂亮的 API 文档,包括用于探 ...
- C# 嵌入dll 动软代码生成器基础使用 系统缓存全解析 .NET开发中的事务处理大比拼 C#之数据类型学习 【基于EF Core的Code First模式的DotNetCore快速开发框架】完成对DB First代码生成的支持 基于EF Core的Code First模式的DotNetCore快速开发框架 【懒人有道】在asp.net core中实现程序集注入
C# 嵌入dll 在很多时候我们在生成C#exe文件时,如果在工程里调用了dll文件时,那么如果不加以处理的话在生成的exe文件运行时需要连同这个dll一起转移,相比于一个单独干净的exe,这种形 ...
- 将从SQL2008 r2里备份的数据库还原到SQL2008中
从标题可以看出这是未解决上一篇遗留问题写的,现在我也不知道这个可不可以成功,方法似乎查到了一种,具体怎样还不清楚:而且,我想说的是“我踩雷了”. 这篇的主角是“Database Publishing ...
- 在jekyll模板博客中添加网易云模块
最近使用GitHub Pages + Jekyll 搭建了个人博客,作为一名重度音乐患者,博客里面可以不配图,但是不能不配音乐啊. 遂在博客里面引入了网易云模块,这里要感谢网易云的分享机制,对开发者非 ...
- 在Linux(Luna)下向Launch启动器中添加图标
记录下在Luna下向Launch中添加图标的步骤,以供以后参考,这里我以加入eclipse图标为例: 首先,我们来创建一个desktop文件(Luna中到启动器Launch可以看作是Ubuntu中到桌 ...
- 用Retrofit发送请求中添加身份验证
用Retrofit发送请求中添加身份验证====================在安卓应用开发中, retrofit可以极大的方便发送http网络请求,不管是GET, POST, 还是PUT, DEL ...
随机推荐
- Storm消息容错机制(ack-fail机制)
storm消息容错机制(ack-fail) 1.介绍 在storm中,可靠的信息处理机制是从spout开始的. 一个提供了可靠的处理机制的spout需要记录他发射出去的tuple,当下游bolt处理t ...
- 030 分布式集群中,设定时间同步服务器,以及ntpd与ntpdate的区别
什么时候配置时间同步? 当分布式集群配置好了以后,马上配置的是SSH无密钥配置,然后就是配置时间同步. 时间同步在集群中特别重要. 一:时间同步 1.时间同步 集群中必须有一个统一的时间 如果是内网, ...
- MATLAB·提取图像中多个目标
基于matlab工具箱提取图像中的多目标特征(代码如下): 代码前面部分为提取图像的边界信息,调用了后面的遍历函数Pixel_Search,函数实现方法见后~ %%ROI Testing close ...
- ADI SHARC 学习之PLL
PLL Block Diagram Power Management Registers (PMCTL, PMCTL1)The following sections descr ...
- POJ 2337 Catenyms(有向欧拉图:输出欧拉路径)
题目链接>>>>>> 题目大意: 给出一些字符串,问能否将这些字符串 按照 词语接龙,首尾相接 的规则 使得每个字符串出现一次 如果可以 按字典序输出这个字符串 ...
- BASH if/while/until loop
#/bin/bash ]; then counter=" counter1=" echo "for loop:" $); do echo $i done ); ...
- struts1 标签引入
1 tld文件导入 目录结构如下 2 jsp 文件头部标签引入 <%@ page pageEncoding="gbk" contentType="text/html ...
- java的关键字与保留字
1,Java 关键字列表 (依字母排序 共50组): abstract, assert, boolean, break, byte, case, catch, char, class, const(保 ...
- Ansible修改自定义端口和登录用户
如下所示: [servers] host1 ansible_ssh_host=192.0.2.1 ansible_ssh_port=5555 ansible_ssh_user="user&q ...
- vs2008快捷键
Ctrl+E,D ----格式化全部代码 Ctrl+E,F ----格式化选中的代码 CTRL + SHIFT + B生成解决方案 CTRL + F7 生成编译 CTRL + O 打开文件 CTRL ...