如何使用ADO來压缩或修复Microsoft 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 以上的版本,您就可以不用下载了!

在您安裝了 MDAC 2.1 或以上的版本之后,您就可以使用 ADO 來压缩或修复 Microsoft Access 文件,下面的步骤告訴您如何使用 CompactDatabase Method 來压缩 Microsoft Access 文件:

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:\\nwind2.mdb", _ '來源文件
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\\abbc2.mdb;Jet OLEDB:Engine Type=4" '目的文件

在 DAO 3.60 之后,RepairDatabase Method 已经无法使用了,以上的程序代码显示了 ADO CompactDatabase Method 的用法,而它也取代了 DAO 3.5 時的 RepairDatabase method!

时间: 2016-07-02

如何使用ADO來压缩或修复Microsoft Access文件的相关文章

Access 中如何使用 ADO 來压缩或修复 MS Access 文件?

access|ado|压缩 Access 中如何使用 ADO 來压缩或修复 MS Access 文件?专题地址:http://access911.net/index.asp?board=4&recordid=71FAB71E  问题: Access 中如何使用 ADO 來压缩或修复 Microsoft Access 文件?   回答: 以前使用 DAO 时,Microsoft 有提供 CompactDatabase Method 來压缩 Microsoft Access 文件,RepairDat

怎样经由ADO来压缩Microsoft Access数据库

HOWTO: Compacting Microsoft Access Database via ADO --------------------------------------------------------------------------------The information in this article applies to: ActiveX Data Objects (ADO), versions 2.1, 2.5, 2.6 Microsoft OLE DB Provid

Asp.net在线备份、压缩和修复Access数据库示例代码

这篇文章主要介绍了Asp.net如何在线备份.压缩和修复Access数据库,需要的朋友可以参考下 1.问题的提出    在设计中小型Web应用程序时,可以选择Microsoft Accesss为数据库.在数据库的使用过程中经常性进行增加和删除操作.事实上,Microsoft Access并不能有效地释放已分配的但被删除的对象空间,这将意味着即使你删除了一个对象,而这个对象仍然占据着数据库的空间,使得数据库越来越大.不但占用不必要的空间,而且降低了数据库的效率.特别在虚拟站点上的问题尤为突出.因此

Asp.net在线备份、压缩和修复Access数据库示例代码_实用技巧

1.问题的提出 在设计中小型Web应用程序时,可以选择Microsoft Accesss为数据库.在数据库的使用过程中经常性进行增加和删除操作.事实上,Microsoft Access并不能有效地释放已分配的但被删除的对象空间,这将意味着即使你删除了一个对象,而这个对象仍然占据着数据库的空间,使得数据库越来越大.不但占用不必要的空间,而且降低了数据库的效率.特别在虚拟站点上的问题尤为突出.因此对Access数据库进行压缩瘦身很有实际意义. 虽然Access数据库自身具有"压缩和修复数据库&quo

用C#压缩和修复Access数据库

介绍 下面这段C# 代码可以用来压缩和修复Access数据库,不管它是一个简单的".mdb"ACCESS数据库还是一个".mdw"网络共享数据库,这个过程和你在用MS Access应用程序中使用的"工具-数据库实用工具-压缩和修复"时执行的操作完全一样.实例代码使用了"迟绑定"(运行中在内存中建立COM对象),这样就不需要在工程中加入COM引用了,也不需要在PC上安装MS Access应用程序.只需要一个Jet引擎(Jet引擎

用C#压缩和修复Access数据库(译)

access|数据|数据库|压缩 介绍        下面这段C# 代码可以用来压缩和修复Access数据库,不管它是一个简单的".mdb"还是一个".mdw"网络共享数据库,这个过程和你在用MS Access应用程序中使用的"工具-数据库实用工具-压缩和修复"时执行的操作完全一样.实例代码使用了"迟绑定"(运行中在内存中建立COM对象),这样就不需要在工程中加入COM引用了,也不需要在PC上安装MS Access应用程序.只

Microsoft Access项目不能压缩的原因

压缩数据库文件可以提高数据库的性能,但是有些时候在压缩数据库时,系统会提醒用户该数据库不能压缩.假如在Access数据库中删除数据库对象,或者在Access项目中删除对象,Access数据库或Access项目可能会产生碎片并会降低磁盘空间的使用效率.压缩Access数据库或Access项目实际上是复制该文件,并重新组织文件在磁盘上的存储方式.压缩数据库文件确实可以提高数据库的性能,修复数据库中的错误.一般来说,Microsoft Access数据库或Microsoft Access项目不能压缩的

使用 ADO.NET 解锁 Microsoft Access 数据(1)

access|ado|数据 使用 ADO.NET 解锁 Microsoft Access 数据 Paul CornellMicrosoft Corporation 2001 年 12 月 6 日 Microsoft Office 提供了多种存储和管理数据的功能和工具,例如,数据访问对象 (DAO).ActiveX 数据对象 (ADO).Microsoft Word 邮件合并.Microsoft Excel Web 查询.Microsoft Query.数据访问页.Microsoft Access

使用ADO.NET解锁 Microsoft Access数据(一)

access|ado|数据 使用ADO.NET解锁 Microsoft Access数据 作者:微软中国   Microsoft Office 提供了多种存储和管理数据的功能和工具,例如,数据访问对象 (DAO).ActiveX 数据对象 (ADO).Microsoft Word 邮件合并.Microsoft Excel Web 查询.Microsoft Query.数据访问页.Microsoft Access 数据项目.Office 数据连接.Office 数据链接等等.而 Microsoft