vb.netmdb压缩 vb文件压缩后打不开

vb怎么压缩/解压数据?

winrar有预定义的指令的,比如下面的vb代码把文件压缩: mystr = "C:\Program Files\WinRAR\WinRAR.exe"

专注于为中小企业提供网站建设、成都网站设计服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业滨海免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了近1000家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

Source = "d:\1.txt" '源文件的位置

Target = "d:\" '存放压缩文件的位置

mystr = mystr " a " Target " " Source

'调用RAR文件压缩

retval = Shell(mystr, vbHide)

MsgBox "文件压缩成功完成!", 64, "提示信息"解压文件也类似,可以去找下winrar的一些说明,它自己有命令行的,调用就行,解压好像是-inul,不太记得了。上面的代码可以进行压缩。

vb.net进行文件压缩

如果机器安装有winRar软件,就可以通过shell来借用他的功能达到压缩文件的效果;

参考代码如下:

Dim DeliveryF As String = Server.MapPath("..\Temp\DeliveryFactors.xls") '原始文件 (压缩前)

Dim TruckInfo As String = Server.MapPath("..\Temp\TruckInformation.xls")

Dim QDetail As String = Server.MapPath("..\Temp\QuotationDetail.xls")

'用shell命令调用winrar.exe创建压缩文件()

Dim winRarexe As String = "C:\Program Files\WinRAR\Rar" 'winzip 执行文件的位置

Dim wtarget As String = "C:\temp\QuotationVAComparsion.zip" '目地文件 (压缩后)

Dim command As String = winRarexe " a " wtarget " " DeliveryF " " TruckInfo " " QDetail

'这个命令你可以查看winrar的命令集

Dim retval As Double 'Shell 指令传回值

retval = Shell(command, AppWinStyle.MinimizedFocus)

用vb.net对sql多数据库压缩备份为一个文件

using System;

using System.Data;

using System.Configuration;

using System.Collections;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Web.UI.HtmlControls;

using System.IO;

using System.Text;

using _5dRss.Const;

using _5dRss.lib.Data.Tool;

public partial class admin_admin_dbmanage : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

{

//生成备份文件列表

ListBackupFiles();

if (!Page.IsPostBack)

{

Showmsg.Visible = false;

//数据库路径

lilDBPath.Text = HttpContext.Current.Request.PhysicalApplicationPath + "App_Data\\" + ConfigurationSettings.AppSettings["DBFile"];

//新建一个 FileInfo 对象,并获得数据库文件的大小,然后转换单位为KB

FileInfo myFileInfo = new FileInfo(lilDBPath.Text);

lilDBSize.Text = Convert.ToString(myFileInfo.Length/1024) + " KB";

//如果两个参数都不为空,则继续执行

if (Request.QueryString["cmd"] != null Request.QueryString["source"] != null)

{

//备份数据库原文件名

string sourceFileName = Request.QueryString["source"];

//如果 cmd 参数为 DelFile

if (Request.QueryString["cmd"].Equals("DelFile"))

{

//删除备份数据库文件

File.Delete(HttpContext.Current.Request.PhysicalApplicationPath + "Backup\\" + sourceFileName);

//刷新备份文件列表

ListBackupFiles();

Showmsg.Visible = true;

Showmsg.Text = "div align='center' style='margin-bottom:8px;'img src='images/aL.gif' style='margin-bottom:-6px;'/span class='alertTxt'删除备份数据库成功!/spanimg src='images/aR.gif' style='margin-bottom:-6px;'//div";

}

//如果 cmd 参数为 Restore

if (Request.QueryString["cmd"].Equals("Restore"))

{

//用备份文件覆盖原文件

File.Copy(HttpContext.Current.Request.PhysicalApplicationPath + "Backup\\" + sourceFileName, HttpContext.Current.Request.PhysicalApplicationPath + "App_Data\\" + ConfigurationSettings.AppSettings["DBFile"], true);

//刷新备份文件列表

ListBackupFiles();

Showmsg.Visible = true;

Showmsg.Text = "div align='center' style='margin-bottom:8px;'img src='images/aL.gif' style='margin-bottom:-6px;'/span class='alertTxt'还原备份数据库成功!/spanimg src='images/aR.gif' style='margin-bottom:-6px;'//div";

}

}

}

}

protected void lnkbtnCompactDB_Click(object sender, EventArgs e)

{

//压缩修复数据库

AccessDBtool.CompactAccessDB(SysConfig.ConnectionString, HttpContext.Current.Request.PhysicalApplicationPath + "App_Data\\" + ConfigurationSettings.AppSettings["DBFile"]);

Showmsg.Visible = true;

Showmsg.Text = "div align='center' style='margin-bottom:8px;'img src='images/aL.gif' style='margin-bottom:-6px;'/span class='alertTxt'压缩修复数据库成功!/spanimg src='images/aR.gif' style='margin-bottom:-6px;'//div";

}

protected void lnkbtnBackupDB_Click(object sender, EventArgs e)

{

string sourceFileName = HttpContext.Current.Request.PhysicalApplicationPath + "App_Data\\" + ConfigurationSettings.AppSettings["DBFile"];

string destFileName = HttpContext.Current.Request.PhysicalApplicationPath + "Backup\\" + "Backup_";

destFileName += DateTime.Now.ToString("yyyyMMddHHmmss");

destFileName += ".mbk";

//将数据库文件Copy到Backup目录,如果有重名文件就覆盖原文件

File.Copy(sourceFileName, destFileName, true);

//生成备份文件列表

ListBackupFiles();

Showmsg.Visible = true;

Showmsg.Text = "div align='center' style='margin-bottom:8px;'img src='images/aL.gif' style='margin-bottom:-6px;'/span class='alertTxt'备份数据库成功!/spanimg src='images/aR.gif' style='margin-bottom:-6px;'//div";

}

/// summary

/// 生成备份文件列表

/// /summary

/// returns文件列表,文件详细信息及操作选项的HTML代码/returns

public void ListBackupFiles()

{

//如果目录不存在则创建次目录

if (!Directory.Exists(HttpContext.Current.Request.PhysicalApplicationPath + "Backup\\"))

Directory.CreateDirectory(HttpContext.Current.Request.PhysicalApplicationPath + "Backup\\");

DirectoryInfo mydir = new DirectoryInfo(HttpContext.Current.Request.PhysicalApplicationPath + "Backup\\");

StringBuilder sb = new StringBuilder();

foreach (FileInfo f in mydir.GetFiles())

{

sb.Append("a href='backup/" + f.Name + "' target='_blank'img border='0' src='images/mdb.gif' style='margin:4px 3px -3px 0px'/" + f.Name + "/a  a href='?cmd=DelFilesource=" + f.Name + "' title='删除备份文件'删除/a | a href='?cmd=Restoresource=" + f.Name + "' title='删除备份文件'还原数据库/a | " + f.Length/1024 + " KB | " + f.CreationTime + "br /");

}

lilBackupFileList.Text = sb.ToString();

}

}

把下面这句换成你的数据库地址:

//数据库路径

// lilDBPath.Text = HttpContext.Current.Request.PhysicalApplicationPath + "App_Data\\" + ConfigurationSettings.AppSettings["DBFile"];

怎样用vb把数据库(Access)压缩和修复

以前使用

DAO

时,Microsoft

有提供

CompactDatabase

Method

来压缩

Microsoft

Access

文件,RepairDatabase

Method

来修复损坏的

Microsoft

Access

文件,。可是自从

ADO

出来之后,好像忘了提供相对的压缩及修复

Microsoft

Access

文件的功能。

现在

Microsoft

发现了这个问题了,也提供了解决方法,不过有版本上的限制!限制说明如下:

ActiveX

Data

Objects

(ADO),

version

2.1

Microsoft

OLE

DB

Provider

for

Jet,

version

4.0

这是

Microsoft

提出的

ADO

的延伸功能:Microsoft

Jet

OLE

DB

Provider

and

Replication

Objects

(JRO)

这个功能在

JET

OLE

DB

Provider

version

4.0

(Msjetoledb40.dll)

JRO

version

2.1

(Msjro.dll)

中第一次被提出!

这些必要的

DLL

文件在您安装了

MDAC

2.1

之后就有了,您可以在以下的网页中下载

MDAC

的最新版本!

Universal

Data

Access

Web

Site

在下载之前先到

VB6

中检查一下,【控件】【设定引用项目】中的

Microsoft

Jet

and

Replication

Objects

X.X

library

如果已经是

2.1

以上的版本,您就可以不用下载了!

1、新建一个新表单,选择功能表中的【控件】【设定引用项目】。

2、加入

Microsoft

Jet

and

Replication

Objects

X.X

library,其中

(

X.X

大于或等于

2.1

)。

3、在适当的地方加入以下的程序代码,记得要修改

data

source

的内容及目地文件的路径:

Dim

jro

As

jro.JetEngine

Set

jro

=

New

jro.JetEngine

jro.CompactDatabase

"Provider=Microsoft.Jet.OLEDB.4.0;Data

Source=d:\

wind2.mdb",

_

'来源文件

DAO

3.60

之后,RepairDatabase

Method

已经无法使用了,以上的程序代码显示了

ADO

CompactDatabase

Method

的用法,而它也取代了

DAO

3.5

时的

RepairDatabase

method!


文章标题:vb.netmdb压缩 vb文件压缩后打不开
分享URL:http://myzitong.com/article/dojgics.html