在程序中压缩sql server2000的数据库备份文件的代码

怎样压缩sql server2000的数据库备份文件,像rar一样?小弟有一7m的sql server2000

数据库备份文件,在程序中怎样压缩啊?

复制代码 代码如下:

procedure TForm1.Button2Click(Sender: TObject); 

var 

  SHExecInfo: SHELLEXECUTEINFO; 

begin 

 SHExecInfo.cbSize := sizeof(SHELLEXECUTEINFO); 

  SHExecInfo.fMask := SEE_MASK_NOCLOSEPROCESS; 

  SHExecInfo.Wnd := Handle; 

  SHExecInfo.lpVerb := nil; 

  SHExecInfo.lpFile := 'WinRAR.exe'; 

  SHExecInfo.lpParameters := 'a e:\qwqw.rar e:\qwqw'; 

  SHExecInfo.lpDirectory := nil; 

  SHExecInfo.nShow := SW_SHOW; 

  SHExecInfo.hInstApp := Handle; 

  ShellExecuteEx(@SHExecInfo); 

  WaitForSingleObject(SHExecInfo.hProcess, INFINITE); 

  CloseHandle(SHExecInfo.hProcess); 

  ShellExecute(application.MainForm.Handle,'open','winrar.exe',PChar('a e:\zqzq.rar e:\zqzq'),'',SW_show); 

ShowMessage('压缩完毕!'); }

这是一段压缩图片的代码,压缩文件原理相同,只需稍做改动即可。

复制代码 代码如下:

var 

  mss: TMemoryStream; 

  zip: TDeCompressionStream; 

  zip1: TCompressionStream; 

  fs : TFileStream; 

  fBuf: Array[0..16383] of Byte; 

  flen: Integer; 

  //从数据库中取出图片 

  //...写出SQL语句以取得有图片的记录,此处从略 

  mss := TMemoryStream.Create; 

  fs := TFileStream.Create('filename.jpg',fmCreate or fmOpenWrite); 

  try 

    TBlobField(Que.FieldByName('pic')).SaveToStream(mss); 

    zip := TDeCompressionStream.Create(fs); 

    try 

      flen := zip.Read(fbuf, SizeOf(fBuf)); 

      while flen > 0 do begin 

        fs.Write(fbuf, flen); 

        flen := zip.Read(fbuf, SizeOf(fBuf)); 

      end; 

    finally 

      FreeAndNil(zip); 

    end; 

  finally 

    mss.Free; 

    fs.Free; 

  end; 

  //将文件filename.jpg中的图片保存到数据库 

  //...写出SQL语句,打开Que,并定位到要保存图片的记录,此处从略 

  fs := TFileStream.Create('filename.jpg',fmOpenRead); 

  mss := TMemoryStream.Create; 

  try 

    zip1 := TCompressionStream.Create(clDefault,mss); 

    try 

      flen := fs.Read(fbuf, SizeOf(fBuf)); 

      while flen > 0 do begin 

        zip1.Write(fbuf, flen); 

        flen := fs.Read(fbuf, SizeOf(fBuf)); 

      end; 

      //保存到数据库 

     TBlobField(Que.FieldByName('pic')).LoadFromStream(mss); 

      Que.UpdateBatch(); 

      //... 

    finally 

      zip1.Free; 

    end; 

  finally 

    fs.Free; 

    mss.Free; 

  end;

时间: 2024-09-18 23:13:35

在程序中压缩sql server2000的数据库备份文件的代码的相关文章

在程序中压缩sql server2000的数据库备份文件的代码_MsSql

怎样压缩sql server2000的数据库备份文件,像rar一样?小弟有一7m的sql server2000 数据库备份文件,在程序中怎样压缩啊? 复制代码 代码如下: procedure TForm1.Button2Click(Sender: TObject);  var    SHExecInfo: SHELLEXECUTEINFO;  begin   SHExecInfo.cbSize := sizeof(SHELLEXECUTEINFO);    SHExecInfo.fMask :=

VS2005中连接SQL Server2000 连接字符串

vs2005中连接sql server2000 连接字符串 sqlconnection conn = new sqlconnection(sqlconn.connstring);         string sqltext = "select * from loginuser where (username='" + name + "') and (" + "userpwd='" + pwd + "')";        

asp.net程序中最常用的三十三种编程代码

asp.net|编程|程序 asp.net程序中最常用的三十三种编程代码,为初学者多多积累经验,为高手们归纳总结,看了觉得很有价值~,大家不妨参考下!  1. 打开新的窗口并传送参数:   传送参数:  response.write("<script>window.open('*.aspx?id="+this.DropDownList1.SelectIndex+"&id1="+...+"')</script>") 

iOS开发中使用SQL语句操作数据库的基本用法指南_IOS

SQL代码应用示例 一.使用代码的方式批量添加(导入)数据到数据库中 1.执行SQL语句在数据库中添加一条信息 插入一条数据的sql语句: 点击run执行语句之后,刷新数据 2.在ios项目中使用代码批量添加多行数据示例 代码示例: 复制代码 代码如下: // //  main.m //  01-为数据库添加多行数据 // //  Created by apple on 14-7-26. //  Copyright (c) 2014年 wendingding. All rights reserv

100分在线急求 程序中执行.sql脚本 mysql的

问题描述 我想要在程序中执行mysql的脚本文件比如说点击一个button执行aaa.sql,请各位大虾给与帮助,给100分! 解决方案 解决方案二:自己来顶解决方案三:顶不要沉啊解决方案四:顶不要沉啊解决方案五:如果有存储过程,直接点击button时执行相关存储.如果没有存储过程,单独放进一个文本文件吧,要执行的时候读文件传sql过去!不过怎么感觉这是在多此一举啊.后缀为sql的文件就算是查询分析器打开也不是会自动执行的.你还是得调用执行的命令对象.和一般写法没多大区别的啊.解决方案六:顶不要

在程序中书写SQL语句

园子里关于存储过程的讨论有很多,不少人建议将SQL语句写在程序中,这篇随笔讨论一下SQL语句在程序中的写法. 1string strSQL = "SELECT [AddressID], [AddressLine1], [AddressLine2], [City], [StateProvinceID], [PostalCode], [rowguid], [ModifiedDate] FROM [AdventureWorks].[Person].[Address] WHERE City = 'Bot

在Java的Spring框架的程序中使用JDBC API操作数据库_java

同时与数据库使用普通的旧JDBC的工作,它变得繁琐写不必要的代码来处理异常,打开和关闭数据库连接等,但Spring的JDBC框架需要的所有低层次细节从打开连接,准备和执行SQL语句,过程异常,处理事务,最后关闭连接. 所以,你所要做的只是定义连接参数,并指定要执行的SQL语句,并做必要的工作,在每次迭代时从数据库中获取数据. Spring JDBC提供了一些方法和相应不同的类与数据库进行交互.我要采取经典和最流行的做法,利用JdbcTemplateclass框架.这是管理的所有数据库的通信和异常

ASP中使用SQL语句操作数据库

数据|数据库|语句 用ASP操作数据库时,很多人都使用记录集,但我觉得用SQL语句更好些,于是就写了这篇文章,希望对你有帮助. <%'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''以下段为连接数据库和断开连接(数据库为Access格式,采用DSN来连接)''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''sub conn

PHP程序中使用adodb连接不同数据库的代码实例_php实例

adodb.inc.php文件需要去下载一个adodb,放在相应的位置,然后在php中include进来就可以. 连接oracle数据库 <?php include("adodb/adodb.inc.php"); //包含adodb类库文件 $conn = &NewADOConnection('oci8'); $conn->Connect($DBServer,$DBUser,$DBPass); ?> 连接PostgreSQL数据库 <?php inclu