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

2022-11-12 09:51:15
内容摘要
这篇文章主要为大家详细介绍了SQL Server 程序中压缩sql server2000的数据库备份文件的代码,具有一定的参考价值,可以用来参考一下。 对此感兴趣的朋友,看看idc笔记做的技术笔
文章正文

这篇文章主要为大家详细介绍了SQL Server 程序中压缩sql server2000的数据库备份文件的代码,具有一定的参考价值,可以用来参考一下。

对此感兴趣的朋友,看看idc笔记做的技术笔记!

怎样压缩sqlserver2000的数据库备份文件,像rar一样?小弟有一7m的sqlserver2000数据库备份文件,在程序中怎样压缩啊?

代码如下:


procedureTForm1.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:='ae:\qwqw.rare:\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('ae:\zqzq.rare:\zqzq'),'',SW_show); 
ShowMessage('压缩完毕!');}
这是一段压缩图片的代码,压缩文件原理相同,只需稍做改动即可。

代码如下:


var 
mss:TMemoryStream; 
zip:TDeCompressionStream; 
zip1:TCompressionStream; 
fs:TFileStream; 
fBuf:Array[0..16383]ofByte; 
flen:Integer; 
//从数据库中取出图片 
//...写出SQL语句以取得有图片的记录,此处从略 
mss:=TMemoryStream.Create; 
fs:=TFileStream.Create('filename.jpg',fmCreateorfmOpenWrite); 
try 
TBlobField(Que.FieldByName('pic')).SaveToStream(mss); 
zip:=TDeCompressionStream.Create(fs); 
try 
flen:=zip.Read(fbuf,SizeOf(fBuf)); 
whileflen>0dobegin 
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)); 
whileflen>0dobegin 
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;

注:关于SQL Server 程序中压缩sql server2000的数据库备份文件的代码的内容就先介绍到这里,更多相关文章的可以留意

代码注释

作者:喵哥笔记

IDC笔记

学的不仅是技术,更是梦想!