通过在 Microsoft SQL Server 中托管 CLR(称为 CLR 集成),可以在托管代码中编写存储过程、触发器、用户定义函数、用户定义类型和用户定义聚合函数。 因为托管代码在执行之前会编译为本机代码,所以,在有些方案中可以大大提高性能。此处举例的是把dll文件的16进制文件流拷贝出来案例。

1.0x...是文件XXX的十六进制流,可以使用UltraEdit等编辑器把相关dll文件的十六进制流copy出来。
GO
--/****** Object: SqlAssembly [MySoftSqlFunctions] Script Date: 02/27/2015 14:17:10 ******/
IF NOT EXISTS (SELECT * FROM sys.assemblies asms WHERE asms.name = N'MySoftSqlFunctions' and is_user_defined = 1)
--DROP ASSEMBLY [MySoftSqlFunctions]
/****** Object: SqlAssembly [MySoftSqlFunctions] Script Date: 02/27/2015 14:17:10 ******/
BEGIN
CREATE ASSEMBLY [MySoftSqlFunctions]
AUTHORIZATION [dbo]
FROM 0x...(此处是dll十六进制流)
WITH PERMISSION_SET = SAFE
end --/****** Object: UserDefinedFunction [dbo].[SeqNewID] Script Date: 02/28/2015 11:30:42 ******/
IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[SeqNewID]') AND type in (N'FN', N'IF', N'TF', N'FS', N'FT'))
EXEC('CREATE FUNCTION [dbo].[SeqNewID]()
RETURNS [uniqueidentifier] WITH EXECUTE AS CALLER
AS
EXTERNAL NAME [MySoftSqlFunctions].[MysoftSqlFunctions.CLRFunctions].[SeqNewID]') GO
IF EXISTS ( SELECT name
FROM sysobjects
WHERE name = 'usp_NewSqeGUID'
AND type = 'P' )
BEGIN
DROP PROCEDURE usp_NewSqeGUID
END
GO CREATE proc [dbo].[usp_NewSqeGUID]
@NewGUID VARCHAR(50) output
as
begin
declare @tOut table(newguid uniqueidentifier default(NewSequentialId()));
insert into @tOut default values
select @NewGUID=newguid from @tOut
end
GO
SeqNewID.sql SeqNewID.sql

案例下载地址:http://files.cnblogs.com/files/lijiebolg/CLR%E9%9B%86%E6%88%90%E6%A1%88%E4%BE%8B.rar

SQL Server 和CLR集成的更多相关文章

  1. Sql Server 与CLR集成

    .NET编程和SQL Server ——Sql Server 与CLR集成   一.SQL Server 为什么要与CLR集成 1. SQL Server 提供的存储过程.函数等十分有限,经常需要外部 ...

  2. .NET编程和SQL Server ——Sql Server 与CLR集成 (学习笔记整理-1)

    原文:.NET编程和SQL Server ——Sql Server 与CLR集成 (学习笔记整理-1) 一.SQL Server 为什么要与CLR集成 1. SQL Server 提供的存储过程.函数 ...

  3. Sql Server 2005 CLR实例

    本文转载:http://www.cnblogs.com/yongfa365/archive/2010/04/26/SQL-Server-CLR.html CSDN:博客参考http://blog.cs ...

  4. SQL Server 部署CLR程序集错误`6218`

    Visual Studio 2015中开发的SQL Server项目,添加了用户自定义函数,需要部署到SQL Server 2005上, 在部署时报错: (70,1): SQL72014: .Net ...

  5. SQL Server与CLR数据类型的对应关系

    数据库 C#程序 int int32 text string bigint int64 binary System.Byte[] bit Boolean char string date System ...

  6. SQL Server 2019 深度解读:微软数据平台的野望

    本文为笔者在InfoQ首发的原创文章,主要利用周末时间陆续写成,也算近期用心之作.现转载回自己的公众号,请大家多多指教. 11 月 4 日,微软正式发布了其新一代数据库产品 SQL Server 20 ...

  7. 【转】SQL SERVER CLR存储过程实现

    最近做一个项目,需要做一个SQL SERVER 2005的CLR的存储过程,研究了一下CLR的实现.为方便以后再使用,在这里总结一下我的实现流程,也供对CLR感兴趣但又不知道如何实现的朋友们做一下参考 ...

  8. 在SQL Server中使用CLR调用.NET类库中的方法 (转载)

    在SQL Server中调用 .NET 类库的方法要分为下面几步来实现: 在.NET中新建一个类库项目,并在这个项目中添加一个类文件,并把要被SQL Server调用的方法定义为公有的,静态的方法. ...

  9. sql server CLR

    1. 配置sql server 启用CLR 在SQL Server2005/2008里面,CLR默认是关闭的.可以使用如下SQL语句开启CLR. sp_configure 'show advanced ...

随机推荐

  1. Java基础学习第一天

    ================每日必读==================== 写代码: 1.明确需求.我需要实现什么需求? 2.分析思路.我需要怎么实现需求? 3.确定步骤.我的每一部分思路需要使 ...

  2. oracle中字符串的大小比较,字符串与数字的比较和运算

    Oracle比较字符串是根据ASCII码来的,第一个字母的ASCII大小比较如果相等再比较下一个,类推.字符串和数字进行操作是会报异常的,因为类型不一样不能进行比较. Oracle在执行SQL的时候有 ...

  3. Solr4.8.0源码分析(7)之Solr SPI

    Solr4.8.0源码分析(7)之Solr SPI 查看Solr源码时候会发现,每一个package都会由对应的resources. 如下图所示: 一时对这玩意好奇了,看了文档以后才发现,这个serv ...

  4. FLASK初步实践

    感觉经过DJANGO,CI,RAILS之类的WEB框架之后,FLASK的思路就比较顺畅了... FLASKR.PY import sqlite3 from flask import Flask, re ...

  5. Windows系统编程之进程间通信

    Windows系统编程之进程间通信作者:北极星2003来源:看雪论坛(www.pediy.com)Windows 的IPC(进程间通信)机制主要是异步管道和命名管道.(至于其他的IPC方式,例如内存映 ...

  6. struts2的记住账号密码的登录设计

    一个简单的基于struts2的登录功能,实现的额外功能有记住账号密码,登录错误提示.这里写上我在设计时的思路流程,希望大家能给点建设性的意见,帮助我改善设计. 登录功能的制作,首先将jsp界面搭建出来 ...

  7. 【HDOJ】5017 Ellipsoid

    简单地模拟退火. /* 5017 */ #include <cstdio> #include <cstring> #include <cstdlib> #inclu ...

  8. 2014年基于Raspberry Pi的5大项目

    2014年基于Raspberry Pi的5大项目   Raspberry Pi(即树莓派)是一款基于Linux系统(Debian.ArchLinux)的单板机计算机,它只有一张信用卡大小,可用于电子表 ...

  9. 十大免费移动程序测试框架(Android/iOS)

    十大免费移动程序测试框架(Android/iOS) 概述:本文将介绍10款免费移动程序测试框架,帮助开发人员简化测试流程,一起来看看吧. Bug是移动开发者最头痛的一大问题.不同于Web应用程序开发, ...

  10. NOI 2005 维修数列

    妈妈呀我终于过了!!!原来是数据坑我!!! 弃疗弃疗弃疗弃疗!!!!我调了一天呢....被GET_SUM 8 0打败了.... 啥也不说了....还是我太年轻.... 更新了一下常数,跑的还是可以的: ...