在线压缩Access数据库

access|数据|数据库|压缩|在线

While working on BuildDB/Buildapp online Demo, I developed a little function that will compact Access databases over the web. Here's a "no-frills" page that'll compact the databases for you.
One problem with Access databases is that "holes" are created when records are deleted, making the database fluffy and bloated. Compacting the database makes it lean and efficient again.

Note: This function/page can easily be combined with the Buildapp front end file navigation and search pages (Installment II), to create an application that'll make it easy to handle this formerly troublesome chore for all the databases on your machine/web site..

++++++++++++ Begin Compact.asp +++++++++++++++++++++++++++++
<%
option explicit
Const JET_3X = 4

Function CompactDB(dbPath, boolIs97)
Dim fso, Engine, strDBPath
strDBPath = left(dbPath,instrrev(DBPath,"\"))
Set fso = CreateObject("Scripting.FileSystemObject")

If fso.FileExists(dbPath) Then
Set Engine = CreateObject("JRO.JetEngine")

If boolIs97 = "True" Then
Engine.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dbpath, _
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDBPath & "temp.mdb;" _
& "Jet OLEDB:Engine Type=" & JET_3X
Else
Engine.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dbpath, _
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDBPath & "temp.mdb"
End If
fso.CopyFile strDBPath & "temp.mdb",dbpath
fso.DeleteFile(strDBPath & "temp.mdb")
Set fso = nothing
Set Engine = nothing
CompactDB = "Your database, " & dbpath & ", has been Compacted" & vbCrLf
Else
CompactDB = "The database name or path has not been found. Try Again" & vbCrLf
End If

End Function
%>
<html><head><title>Compact Database</title></head><body>

<h2 align="center"> Compacting an Access database</h2>
<p align="center">
<form action=compact.asp>
Enter relative path to the database, including database name.<br><br>
<input type="text" name="dbpath"><br><br>
<input type="checkbox" name="boolIs97" value="True"> Check if Access 97 database
<br><i> (default is Access 2000)</i><br><br>
<input type="submit">
<form>
<br><br>
<%
Dim dbpath,boolIs97
dbpath = request("dbpath")
boolIs97 = request("boolIs97")

If dbpath <> "" Then
dbpath = server.mappath(dbpath)
response.write(CompactDB(dbpath,boolIs97))
End If
%>
</p></body></html>

++++++++++++ End Code

时间: 2024-10-31 08:49:33

在线压缩Access数据库的相关文章

asp在线备份access数据库程序

如果在 Access 数据库中删除数据或对象,或者在 Access 项目中删除对象,Access 数据库或 Access 项目可能会产生碎片并会降低磁盘空间的使用效率.压缩 Access 数据库或Access项目实际上是复制该文件,并重新组织文件在磁盘上的存储方式.压缩同时优化了 Access 数据库和 Access 项目的性能. 所以我们在对日益增大的数据库导致的ASP程序慢得无法忍受的时候,就想到了要压缩他.但常规的做法把他下载到本地然后用MSaccess来完成压缩操作,然后再上传! 需要注

程序: 创建、压缩Access数据库并修改密码演示

access|程序|创建|数据|数据库|压缩 * --------------------------------------------* 程序: 创建.压缩Access数据库并修改密码演示* 设计: 红雨* --------------------------------------------Local lcMdbFile, lcRetuStrlcMdbFile = [C:\Temp\TestCreaMdbFile.mdb]lcPswd1 = [test1]lcPswd2 = [test2

C#中使用晚绑定实现压缩Access数据库

C#中使用晚绑定实现压缩Access数据库. VB对Com后期绑定支持得很好,在C#中可以使用反射来实现. 函数实现代码如下:  1 public static void CompactAccessDB(string strMdbName) 2 { 3     string TempMdbName = Application.StartupPath + @"\Temp.mdb"; 4  5     //创建 Jet 引擎对象 6     object objJetEngine = Ac

在VB中压缩ACCESS数据库

如果您在Access数据库.Access项目中删除数据或对象,可能会产生碎片并导致磁盘空间使用效率的降低.同时,数据库文件的大小并未减小,而是不断的增大,直至您的硬盘没有空间.有没有好的处理方法呢?其实,在Access中可以对数据库进行压缩优化以提升Access数据库和Access项目的性能,这样的压缩处理的实质是复制该文件,并重新组织文件在磁盘上的存储方式.但是,在Access项目中进行这样的压缩不会影响到数据库对象(例如表或视图),因为它们是存储在Microsoft SQL Server数据

介绍一个用ASP来压缩ACCESS数据库的例子

access|数据|数据库|压缩 <%      oldDB = "d:\net\accessTest.mdb"     bakDB = "d:\net\accessTestBack.mdb"     newDB = "d:\net\accessCompact.mdb"     Set FSO = Server.CreateObject("Scripting.FileSystemObject")     ' back u

用C++代码建立和压缩ACCESS数据库文件

ACCESS的数据库引擎MS JET 4.0是目前应用很广的小型数据库引擎,它具有使用简单,费用低廉(基本上是免费),对机器的配置要求低和对操作者的技术要求低等特点.在使用MS JET的时候如果我们的程序能够自动建立和维护所用的*.MDB文件,那么我们的小程序将会显得更专业.下面简单介绍一下如何动态建立*.MDB文件和压缩*.MDB文件的操作,以下代码都是基于ADO数据编程. 1) 动态建立*.MDB文件. #include <adoint.h> #include <adoctint.h

Access数据库在线压缩的实现方法

如果在 Access 数据库中删除数据或对象,或者在 Access 项目中删除对象,Access 数据库或 Access 项目可能会产生碎片并会降低磁盘空间的使用效率.压缩 Access 数据库或Access项目实际上是复制该文件,并重新组织文件在磁盘上的存储方式.压缩同时优化了 Access 数据库和 Access 项目的性能. 所以我们在对日益增大的数据库导致的ASP程序慢得无法忍受的时候,就想到了要压缩他.但常规的做法把他下载到本地然后用MSaccess来完成压缩操作,然后再上传! 需要注

Access数据库在线压缩的方法

  Access数据库在线压缩的方法       如果在 Access 数据库中删除数据或对象,或者在 Access 项目中删除对象,Access 数据库或 Access 项目可能会产生碎片并会降低磁盘空间的使用效率.压缩 Access 数据库或Access项目实际上是复制该文件,并重新组织文件在磁盘上的存储方式.压缩同时优化了 Access 数据库和 Access 项目的性能. 所以我们在对日益增大的数据库导致的ASP程序慢得无法忍受的时候,就想到了要压缩他.但常规的做法把他下载到本地然后用M

Access数据库在线压缩的实现

 Access数据库在线压缩的实现: 如果在 Access 数据库中删除数据或对象,或者在 Access 项目中删除对象,Access 数据库或 Access 项目可能会产生碎片并会降低磁盘空间的使用效率.压缩 Access 数据库或Access项目实际上是复制该文件,并重新组织文件在磁盘上的存储方式.压缩同时优化了 Access 数据库和 Access 项目的性能.  所以我们在对日益增大的数据库导致的ASP程序慢得无法忍受的时候,就想到了要压缩他.但常规的做法把他下载到本地然后用MSacce