成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

CLR函數(shù)壓縮NTEXT類型字段實例講解

開發(fā) 后端
文章主要介紹了一個sql server 2005 使用clr函數(shù)壓縮ntext類型字段例子,代碼清晰,復制一下就可以跑在你的機器上,快來看看吧。

Microsoft開發(fā)的CLR被我們所熟悉,怎樣能跟好更快的利用clr函數(shù)壓縮ntext的問題,大家來看看這篇文章吧,相信一定會給你很大的收獲。

CLR(公共語言運行庫)和Java虛擬機一樣也是一個運行時環(huán)境,它負責資源管理(內(nèi)存分配和垃圾收集),并保證應用和底層操作系統(tǒng)之間必要的分離。為了提高平臺的可靠性,以及為了達到面向事務的電子商務應用所要求的穩(wěn)定性級別,CLR還要負責其他一些任務,比如監(jiān)視程序的運行。按照.NET的說法,在CLR監(jiān)視之下運行的程序?qū)儆?受管理的"(managed)代碼,而不在CLR之下、直接在裸機上運行的應用或者組件屬于"非受管理的"(unmanaged)的代碼 。可以在 SQL Server 實例中創(chuàng)建可在 Microsoft .NET Framework 公共語言運行時 (CLR) 中創(chuàng)建的程序集中進行編程的數(shù)據(jù)庫對象。可以充分利用公共語言運行時所提供的豐富的編程模式的數(shù)據(jù)庫對象包括聚合函數(shù)、函數(shù)、存儲過程、觸發(fā)器以及類型。下面給大家舉個sql server 2005 使用clr函數(shù)壓縮ntext類型字段例子:

vs2005為數(shù)據(jù)新建一個數(shù)據(jù)庫工程。

  1. using System;  
  2. using System.Data;  
  3. using System.Data.SqlClient;  
  4. using System.Data.SqlTypes;  
  5. using Microsoft.SqlServer.Server;  
  6. using System.IO;  
  7. using System.IO.Compression;  
  8. using System.Text;  
  9. public partial class Gzip  
  10. {  
  11. [Microsoft.SqlServer.Server.SqlFunction]  
  12. public static SqlChars GzipToString(SqlBytes gBytes)  
  13. {  
  14. byte[] bytes = gBytes.Value;  
  15. bytes = Decompress(bytes);  
  16. string str = Encoding.GetEncoding(936).GetString(bytes);  
  17. SqlChars sqlchars = new SqlChars(str);  
  18. return (sqlchars);  
  19. }  
  20. [Microsoft.SqlServer.Server.SqlFunction]  
  21. public static SqlBytes StringToGzip(SqlChars chars)  
  22. {  
  23. byte[] bytes = Encoding.GetEncoding(936).GetBytes(chars.Buffer);  
  24. bytes = Compress(bytes);  
  25. SqlBytes gBytes = new SqlBytes(bytes);  
  26. return (gBytes);  
  27. }  
  28. #region 采用.net系統(tǒng)自帶Gzip壓縮類進行流壓縮  
  29. /// <summary> 
  30. /// 壓縮數(shù)據(jù)  
  31. /// summary> 
  32. /// <param name="data">param> 
  33. /// <returns>returns> 
  34. public static byte[] Compress(byte[] data)  
  35. {  
  36. byte[] bData;  
  37. MemoryStream ms = new MemoryStream();  
  38. GZipStream stream = new GZipStream(ms, CompressionMode.Compress, true);  
  39. stream.Write(data, 0, data.Length);  
  40. stream.Close();  
  41. stream.Dispose();  
  42. //必須把stream流關閉才能返回ms流數(shù)據(jù),不然數(shù)據(jù)會不完整  
  43. //并且解壓縮方法stream.Read(buffer, 0, buffer.Length)時會返回0  
  44. bData = ms.ToArray();  
  45. ms.Close();  
  46. ms.Dispose();  
  47. return bData;  
  48. }  
  49. /// <summary> 
  50. /// 解壓數(shù)據(jù)  
  51. /// summary> 
  52. /// <param name="data">param> 
  53. /// <returns>returns> 
  54. public static byte[] Decompress(byte[] data)  
  55. {  
  56. byte[] bData;  
  57. MemoryStream ms = new MemoryStream();  
  58. ms.Write(data, 0, data.Length);  
  59. ms.Position = 0;  
  60. GZipStream stream = new GZipStream(ms, CompressionMode.Decompress, true);  
  61. byte[] buffer = new byte[1024];  
  62. MemoryStream temp = new MemoryStream();  
  63. int read = stream.Read(buffer, 0, buffer.Length);  
  64. while (read > 0)  
  65. {  
  66. temp.Write(buffer, 0, read);  
  67. read = stream.Read(buffer, 0, buffer.Length);  
  68. }  
  69. //必須把stream流關閉才能返回ms流數(shù)據(jù),不然數(shù)據(jù)會不完整  
  70. stream.Close();  
  71. stream.Dispose();  
  72. ms.Close();  
  73. ms.Dispose();  
  74. bData = temp.ToArray();  
  75. temp.Close();  
  76. temp.Dispose();  
  77. return bData;  
  78. }  
  79. #endregion  

給數(shù)據(jù)庫增加一個varbinary(MAX) 字段,把壓縮以后的轉(zhuǎn)移過來以后刪除原來的字段。

然后使用clr函數(shù)的這兩個如下

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

以上是clr函數(shù)壓縮問題的小例子,快試試吧。

【編輯推薦】

  1. CLR函數(shù)實現(xiàn)字符串排序七步通
  2. CLR線程池教程四大功能詳解
  3. CLR程序集教程新手上路
  4. 全面解析CLR是什么一點通
  5. 為你解疑C++ CLR和ISO C++原理區(qū)別
責任編輯:田樹 來源: 博客
相關推薦

2010-09-28 16:22:23

SQL ntext字段

2009-09-17 18:27:40

CLR是什么

2009-10-23 12:44:35

SQL SERVER

2009-10-23 10:50:04

CLR安全性

2009-10-22 16:08:52

.NET CLR是什么

2009-09-18 10:40:05

CLR存儲過程

2009-11-23 14:44:22

PHP 5.0構造函數(shù)

2012-11-12 09:26:06

.NET多線程

2009-10-23 11:12:21

SQL Server

2010-06-03 18:22:38

Hadoop

2011-04-02 16:37:26

PAT

2010-09-14 17:20:57

2009-09-18 11:13:09

.Net CLR

2009-09-18 09:02:45

CLR Via C#

2009-10-19 14:25:16

靜態(tài)構造函數(shù)

2009-03-17 16:29:53

SQL ServerCLR.NET Framew

2009-10-23 10:08:29

SQL SERVER

2009-10-22 18:41:49

CLR VIA C#教

2009-08-28 16:37:32

C# for循環(huán)

2010-11-22 16:22:39

MySQL連接查詢
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久久精品网站 | 精品视频一区二区三区 | 干狠狠| 91啪亚洲精品 | 国产一区二区三区久久久久久久久 | 精品久久久久久久久久久 | 成人国产精品一级毛片视频毛片 | 成人3d动漫一区二区三区91 | 日韩欧美在 | 伦理二区 | av电影一区| 国产精品视频网 | 日韩在线免费视频 | 精品日本久久久久久久久久 | 国产精品视频一区二区三区四区国 | 精品国产一区二区三区免费 | 国产做a爱片久久毛片 | 大陆一级毛片免费视频观看 | 粉色午夜视频 | 日p视频免费看 | 欧美日韩不卡合集视频 | 亚洲天堂色 | 中文字幕久久精品 | 日韩中文字幕av | 亚州一区二区三区 | 成人欧美一区二区三区黑人孕妇 | 欧产日产国产精品99 | 日韩电影一区 | 国产污视频在线 | 国产精品自拍啪啪 | 国产色网 | 欧美freesex黑人又粗又大 | 久久精彩视频 | 毛片在线看看 | 性色网站| 一级在线免费观看 | 欧美性网| 亚洲国产高清高潮精品美女 | 成人亚洲一区 | 国产中文在线 | 中文字幕 国产精品 |