下面用C#2010定义一个函数,供SQL SERVER 2008使用:

下面是压缩函数

 1 using System.Data.SqlClient;
 2 using System.Data.SqlTypes;
 3 using Microsoft.SqlServer.Server;
 4 using System.Collections;
 5
 6 public partial class UserDefinedFunctions
 7 {
 8     [Microsoft.SqlServer.Server.SqlFunction(
 9         DataAccess=DataAccessKind.Read,
10         FillRowMethodName="GetNextDepartment",
11         TableDefinition="Name nvarchar(50),GroupName nvarchar(50)")]
12     public static IEnumerable GetDepartments()
13     {
14         // 在此处放置代码
15         using (SqlConnection conn = new SqlConnection("context connection=true"))
16         {
17             string sql = "Select Name,GroupName From HumanResources.Department";
18             conn.Open();
19             SqlCommand comm = new SqlCommand(sql, conn);
20             SqlDataAdapter adaptor = new SqlDataAdapter(comm);
21             DataSet dSet = new DataSet();
22             adaptor.Fill(dSet);
23             return (dSet.Tables[0].Rows);
24         }
25     }
26
27     public static void GetNextDepartment(object row,
28         out string name,
29         out string groupName)
30     {
31         DataRow theRow = (DataRow)row;
32         name=(string)theRow["Name"];
33         groupName=(string)theRow["GroupName"];
34     }
35 };

解压函数:

 1 using System;
 2 using System.Data;
 3 using System.Data.SqlClient;
 4 using System.Data.SqlTypes;
 5 using System.IO;
 6 using System.IO.Compression;
 7 using Microsoft.SqlServer.Server;
 8
 9 public partial class UserDefinedFunctions
10 {
11     [Microsoft.SqlServer.Server.SqlFunction]
12     public static SqlBytes BinaryDecompress(SqlBytes inputBinary)
13     {
14         // 在此处放置代码
15         byte[] inputBytes = (byte[])inputBinary.Value;
16
17         using (MemoryStream memStreamIn = new MemoryStream(inputBytes))
18         {
19             using (GZipStream s = new GZipStream(memStreamIn, CompressionMode.Decompress))
20             {
21                 using (MemoryStream memStreamOut = new MemoryStream())
22                 {
23                     for (int num = s.ReadByte(); num != -1; num = s.ReadByte())
24                     {
25                         memStreamOut.WriteByte((byte)num);
26                     }
27                     return (new SqlBytes(memStreamOut.ToArray()));
28                 }
29             }
30         }
31     }
32 };

SQL SERVER 2008中用C#定义压缩与解压缩函数相关推荐

  1. SQL Server 2008新特性之压缩备份(backup compression)

    背景 当我们升级.迁移或者重建数据库时,你是否为将一个大数据库文件(动不动上100GB)的传输而烦劳呢?当你在配置数据库镜像的时候,你是否也曾因为超大备份文件的移动而抓耳挠腮呢?当你需要跨地域传输数据 ...

  2. 详细介绍微软SQL Server 2008

    SQL Server 2008是一个重大的产品版本,它推出了许多新的特性和关键的改进,使得它成为至今为止的最强大和最全面的SQL Server版本.这篇文章详细介绍了Microsoft SQL Ser ...

  3. 微软 Sql Server 2008

    详细介绍微软SQL Server 2008 http://dev.yesky.com/264/7681264_4.shtml 2007-11-25 09:00 作者: 戴羽 出处: IT专家网 责任编 ...

  4. SQL Server 2005与SQL Server 2008 的区别

    随时随地管理您的数据 SQL Server 2008 在 Microsoft 的数据平台上发布,帮助您的组织随时随地管理任何数据.它可以将结构化.半结构化和非结构化文档的数据(例如图像和音乐)直接存储 ...

  5. SQL SERVER 2008传递表值参数

    在以前的SQL SERVER中,存储过程和自定义函数只允许传递标量参数.SQL SERVER 2008中允许定义自定义表类型,并传递给存储过程或自定义函数. CREATE TABLE Inventor ...

  6. SQL Server 2008 创建标量值函数、存储过程

    在运用数据库的过程中,需要用到标量值函数以及存储过程. 仅以SQL Server 2008为例,对标量值函数以及存储过程的流程进行说明(标量值函数以及存储过程当中的代码不在这里讲述) 标量值函数 打开 ...

  7. SQL server 2008 定义数据类型

    1. 字符数据类型 字符数据类型包括varchar.char.nvarchar.nchar.text以及ntext.这些数据类型用于存储字符数据.varchar和char类型的主要区别是数据填充.如果 ...

  8. SQL Server 2008行数据和页数据压缩解密

    SQL Server的性能主要取决于磁盘I/O效率,提高I/O效率某种程序上就意味着提高性能.SQL Server 2008提供了数据压缩功能来提高磁盘I/O. 数据压缩意味着减小数据的有磁盘占用量, ...

  9. 《SQL Server 2008从入门到精通》--20180716

    1.锁 当多个用户同时对同一个数据进行修改时会产生并发问题,使用事务就可以解决这个问题.但是为了防止其他用户修改另一个还没完成的事务中的数据,就需要在事务中用到锁. SQL Server 2008提供 ...

最新文章

  1. UE capability与 双连接相关的参数。
  2. Python300篇电子书免费送
  3. 【LeetCode】0136. 只出现一次的数字
  4. 批量迁移oracle表存储
  5. IBM开发单原子存储技术 iPod能存上3万部电影?
  6. android 弹出PopupWindow后背景逐渐变暗
  7. CBitmapButton位图按钮简明教程
  8. cmos和ttl_TTL电平和CMOS电平的区别
  9. 第 2-1 课:类与 Object + 面试题
  10. 2017.7.17数据类型
  11. 常见鸟的种类及特点_常见乌龟的品种及图片大全!
  12. Letter Combinations of a Phone Number
  13. Hello, world!
  14. php 不懂英文symfony2,请问symfony2一些使用心得
  15. GBase数据库产品介绍
  16. YOLO+PaddleOCR实现车牌检测识别
  17. 汉字编码对照表(gb2312/unicode/utf8)
  18. 递归回溯法求数独全部解
  19. Vue 使用特殊字体
  20. 一些常用的免费接口,再也不怕找不到免费API了

热门文章

  1. 字符串操作 c语言,C语言字符串操作(示例代码)
  2. b类 蚂蚁金服_【面经】超硬核面经,已拿蚂蚁金服Offer!!
  3. 如何选择漏电保护器规格型号_三相四线漏电保护器型号要如何选
  4. spring3.2 aop 搭建 (1)
  5. html插音乐怎么设置样式,是否可以设置html5音频标签的样式?
  6. svn服务器搭建和使用_简单使用nodejs搭建一个静态服务器
  7. webpack:多文件、多环境、跨域处理、热加载
  8. 互联网公司面试经历(转载)
  9. 8大排序算法图文讲解
  10. Keras在mnist上的CNN实践,并且自定义loss函数曲线图