我的编程空间,编程开发者的网络收藏夹
学习永远不晚

CLR函数如何压缩NTEXT类型字段

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

CLR函数如何压缩NTEXT类型字段

小编给大家分享一下CLR函数如何压缩NTEXT类型字段,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

CLR(公共语言运行库)和Java虚拟机一样也是一个运行时环境,它负责资源管理(内存分配和垃圾收集),并保证应用和底层操作系统之间必要的分离。为了提高平台的可靠性,以及为了达到面向事务的电子商务应用所要求的稳定性级别,CLR还要负责其他一些任务,比如监视程序的运行。按照.NET的说法,在CLR监视之下运行的程序属于"受管理的"(managed)代码,而不在CLR之下、直接在裸机上运行的应用或者组件属于"非受管理的"(unmanaged)的代码 。可以在 SQL Server 实例中创建可在 Microsoft .NET Framework 公共语言运行时 (CLR) 中创建的程序集中进行编程的数据库对象。可以充分利用公共语言运行时所提供的丰富的编程模式的数据库对象包括聚合函数、函数、存储过程、触发器以及类型。下面给大家举个sql server 2005 使用clr函数压缩ntext类型字段例子:

vs2005为数据新建一个数据库工程。

using System;  using System.Data;  using System.Data.SqlClient;  using System.Data.SqlTypes;  using Microsoft.SqlServer.Server;  using System.IO;  using System.IO.Compression;  using System.Text;  public partial class Gzip  {  [Microsoft.SqlServer.Server.SqlFunction]  public static SqlChars GzipToString(SqlBytes gBytes)  {  byte[] bytes = gBytes.Value;  bytes = Decompress(bytes);  string str = Encoding.GetEncoding(936).GetString(bytes);  SqlChars sqlchars = new SqlChars(str);  return (sqlchars);  }  [Microsoft.SqlServer.Server.SqlFunction]  public static SqlBytes StringToGzip(SqlChars chars)  {  byte[] bytes = Encoding.GetEncoding(936).GetBytes(chars.Buffer);  bytes = Compress(bytes);  SqlBytes gBytes = new SqlBytes(bytes);  return (gBytes);  }  #region 采用.net系统自带Gzip压缩类进行流压缩  /// <summary> /// 压缩数据  /// summary> /// <param name="data">param> /// <returns>returns> public static byte[] Compress(byte[] data)  {  byte[] bData;  MemoryStream ms = new MemoryStream();  GZipStream stream = new GZipStream(ms, CompressionMode.Compress, true);  stream.Write(data, 0, data.Length);  stream.Close();  stream.Dispose();  //必须把stream流关闭才能返回ms流数据,不然数据会不完整  //并且解压缩方法stream.Read(buffer, 0, buffer.Length)时会返回0  bData = ms.ToArray();  ms.Close();  ms.Dispose();  return bData;  }  /// <summary> /// 解压数据  /// summary> /// <param name="data">param> /// <returns>returns> public static byte[] Decompress(byte[] data)  {  byte[] bData;  MemoryStream ms = new MemoryStream();  ms.Write(data, 0, data.Length);  ms.Position = 0;  GZipStream stream = new GZipStream(ms, CompressionMode.Decompress, true);  byte[] buffer = new byte[1024];  MemoryStream temp = new MemoryStream();  int read = stream.Read(buffer, 0, buffer.Length);  while (read > 0)  {  temp.Write(buffer, 0, read);  read = stream.Read(buffer, 0, buffer.Length);  }  //必须把stream流关闭才能返回ms流数据,不然数据会不完整  stream.Close();  stream.Dispose();  ms.Close();  ms.Dispose();  bData = temp.ToArray();  temp.Close();  temp.Dispose();  return bData;  }  #endregion  }

给数据库增加一个varbinary(MAX) 字段,把压缩以后的转移过来以后删除原来的字段。

然后使用clr函数的这两个如下

select:  SELECT top 10 dbo.GzipToString([content1]) FROM [content_02]  insert: insert into   [content_02] ([content1]) values(dbo.StringToGzip('123abc'))

看完了这篇文章,相信你对“CLR函数如何压缩NTEXT类型字段”有了一定的了解,如果想了解更多相关知识,欢迎关注编程网行业资讯频道,感谢各位的阅读!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

CLR函数如何压缩NTEXT类型字段

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

CLR函数如何压缩NTEXT类型字段

小编给大家分享一下CLR函数如何压缩NTEXT类型字段,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!CLR(公共语言运行库)和Java虚拟机一样也是一个运行时环境,它负责资源管理(内存分配和垃圾收集),并保证应用和底层操作
2023-06-17

oracle如何更改字段数据类型

要更改Oracle数据库表中的字段数据类型,可以使用ALTER TABLE语句和MODIFY子句。以下是一个更改字段数据类型的示例:sqlALTER TABLE table_name MODIFY column_name new_data_
2023-10-19

mysql如何修改字段数据类型

要修改MySQL表中的字段数据类型,可以使用ALTER TABLE语句。下面是修改字段数据类型的示例:```ALTER TABLE 表名 MODIFY 列名 新数据类型;```例如,如果要将表名为"users"的表中名为"age"的字段的数
2023-08-25

sql如何查看表中字段数据类型

要查看表中字段数据类型,可以使用SQL的DESCRIBE或者SHOW命令。例如,可以使用以下命令查看表中所有字段的数据类型:DESCRIBE table_name;或者SHOW COLUMNS FROM table_name;这将返回包
sql如何查看表中字段数据类型
2024-04-09

php如何更改数据表的字段类型

这篇文章主要介绍了php如何更改数据表的字段类型的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇php如何更改数据表的字段类型文章都会有所收获,下面我们一起来看看吧。连接数据库首先,我们需要使用PHP连接到数据库
2023-07-05

php如何修改数据表的字段类型

这篇文章主要介绍“php如何修改数据表的字段类型”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“php如何修改数据表的字段类型”文章能帮助大家解决问题。在 PHP 中,修改数据表的字段类型是一项非常重
2023-07-05

oracle如何修改数据库表字段类型

您可以使用ALTER TABLE语句来修改Oracle数据库表的字段类型。下面是一个例子:```sqlALTER TABLE 表名 MODIFY (列名 新类型);```其中,表名是要修改的表的名称,列名是要修改的字段的名称,新类型是要修改
2023-09-05

如何从空的 interface{} 类型访问 JSON 数据中的字段?

大家好,我们又见面了啊~本文《如何从空的 interface{} 类型访问 JSON 数据中的字段?》的内容中将会涉及到等等。如果你正在学习Golang相关知识,欢迎关注我,以后会给大家带来更多Golang相关文章,希望我们能一起进步!下面
如何从空的 interface{} 类型访问 JSON 数据中的字段?
2024-04-05

如何访问接口类型数组中嵌套结构的字段

php小编柚子为你解答如何访问接口类型数组中嵌套结构的字段。在处理接口返回的数据时,有时候会遇到嵌套结构的情况,即数组中包含了更深层次的字段。要访问这些嵌套的字段,我们可以使用点操作符或者数组下标来逐层获取。通过了解数组的层次结构和对应的键
如何访问接口类型数组中嵌套结构的字段
2024-02-14

浅谈数据库日期类型字段设计应该如何选择

当设计一个产品,其中很多地方要把日期类型保存到数据库中,如果产品有兼容不同数据库产品的需求,那么,应当怎样设计呢?当然,首先想到的是,使用数据库的 Date 或 DateTime 类型,可是看看不同数据库这些类型间的区别吧,真让人望而止步
2022-08-12

如何查看类型为LRAW的SAP ABAP数据库表字段的内容

本篇文章为大家展示了如何查看类型为LRAW的SAP ABAP数据库表字段的内容,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。SAP帮助文档上提到:当一个buffered数据库表被修改时,其buffe
2023-06-03

golang 函数命名如何利用类型注释和文档字符串?

问题的答案:通过类型注释和文档字符串可以提升 go 语言函数命名的有效性。详细描述:类型注释: 提供函数参数和返回值的类型信息,帮助识别错误并生成文档。文档字符串: 提供函数功能、参数和返回值的详细信息,方便文档生成、自动完成功能和类型提示
golang 函数命名如何利用类型注释和文档字符串?
2024-04-22

Excel数据导入Mysql常见问题汇总:如何解决字段类型不匹配的问题?

Excel数据导入Mysql常见问题汇总:如何解决字段类型不匹配的问题?导入数据是数据库管理中一个非常常见的操作,而Excel作为一款常用的数据处理工具,通常被用于数据的收集和整理。然而,在将Excel数据导入到Mysql数据库时,可能会遇
2023-10-22

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录