深入浅析ASP在线压缩access数据库的方法_实用技巧

来源:脚本之家  责任编辑:小易  

压缩数据库只能用单人打开方式,在选项里面有一个以什么方式关闭数据库www.zgxue.com防采集请勿采集本网。

ASP在线压缩ACCESS数据库原理很简单:利用JRO.JetEngine的压缩功能建立一个新的数据库文件,然后把原来的删掉、替换!既然这样,压缩程序只需几行就ok了!

利用一个引擎DLL 运行环境:在WIN98SE+PWS、WIN2000+IIS5.0

把下面的代码保存为**.asp,数据库文件(db.md)放在相同目录下,执行asp搞定!

亲自测试通过的代码:

<%oldDB = server.mappath("db.mdb") '更改数据库地址newDB = server.mappath("db_new.mdb") '生成临时文件Set FSO = Server.CreateObject("Scripting.FileSystemObject")Set Engine = Server.CreateObject("JRO.JetEngine")prov = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="Engine.CompactDatabase prov & OldDB, prov & newDBset Engine = nothingFSO.DeleteFile oldDB '删除临时文件FSO.MoveFile newDB, oldDBset FSO = Nothingresponse.write "OK"%>

Microsoft的Access继承了一些FoxBase DBF的特点,个人估计是DBF的改进,比如FoxBase说在删除数据后其实并没有真正删除,只是加上一个删除标记,在需要的时候可以

下面是一个ASP在线压缩ACCESS数据库的封装函数

用户在使用Access数据库的时候,在某一种情况下有可能出现数据库损坏的情况. 损坏的数据库不能正常使用,在这种情况下需要使用数据库压缩和修复工具.重新

Function CompactDB(dbPath, boolIs97)Dim fso, Engine, strDBPathstrDBPath = left(dbPath,instrrev(DBPath,"\"))Set fso = CreateObject("Scripting.FileSystemObject")If fso.FileExists(dbPath) ThenSet Engine = CreateObject("JRO.JetEngine")On Error Resume NextIf boolIs97 = "True" ThenEngine.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_3XElseEngine.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dbpath, _"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDBPath & "temp.mdb"End If If Err Thenresponse.write "<script LANGUAGE='javascript'>alert('无法识别数据库类型.');history.go(-1);</script>"response.endend iffso.CopyFile strDBPath & "temp.mdb",dbpathfso.DeleteFile(strDBPath & "temp.mdb")Set fso = nothingSet Engine = nothingCompactDB = "<script>alert('压缩成功!');javascript:history.go(-1);</script>"ElseCompactDB = "<script>alert('找不到数据库!\n请检查数据库路径是否输入错误!');history.back();</script>"End IfEnd Function

答:对于某些操作,Access分配硬盘空间时存在一些问题,比如不自动收回已用的空间,这样就造成文件很大,这可能就是你提到的问题的原因。你可以使用菜单中的“

总结

到此这篇关于ASP在线压缩access数据库的方法的文章就介绍到这了,更多相关ASP在线压缩access数据库内容请搜索真格学网以前的文章或继续浏览下面的相关文章希望大家以后多多支持真格学网! 您可能感兴趣的文章:用ASP实现在线压缩与解压缩功能代码用ASP.Net实现文件的在线压缩和解压缩ASP 连接Access数据库的登陆系统asp连接access、sql数据库代码及数据库操作代码ASP连接Access数据库的几种方法access数据库的一些少用操作,ASP,创建数据库文件,创建表,创建字段,ADOX

我把我的源文2113件给你,你自己适当修改下就是5261你自己的了: <!-- #include file="../conn2.asp" --><!-- #include file="../inc/md5.asp" --><html> <head> <title>数据4102库压缩</title> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <link href="../style/style.css" rel="stylesheet" type="text/css"> <style> body { background-color:#FFFFFF; } </style> </HEAD> <BODY> <%if request("hid1")="" then%> <form name="form1" method="post"> <table width="100%" border="0" cellpadding="0" cellspacing="0" bgcolor="#C4D8ED"> <tr> <td><img src="../images/r_1.gif" alt="" /></td> <td width="100%" background="../images/r_0.gif"> <table cellpadding="0" cellspacing="0" width="100%"> <tr> <td> 压缩数据库</td> <td align="right"> </td> </tr> </table> </td> <td><img src="../images/r_2.gif" alt="" /></td> </tr> <tr> <td></td> <td> <table align="center" cellpadding="4" cellspacing="1" class="toptable grid" border="1"> <tr> <td height="30" colspan="2" align="center" class="category">你的1653空间只有支持fso才可以进行如下操作,否则你只能手动压缩</td> </tr> <tr> <td width="25%" height="30" align="right">当前数据库路径:</td> <td width="75%" class="category"> <input type="text" name="mdbpath" size="30" value="backup/要压缩的数据库名称.mdb"> <input type="radio" value="false" checked name="ys"> 使用 Access 2000 数据库 </td> </tr> <tr> <td height="30" align="right"> </td> <td class="category"> (为了安全,请注意用备份的数据库文件来压缩,不要用当前正在运行的数据库文件) </td> </tr> <tr class="a3"> <td align="center" colspan="2" class="category"> <input type="submit" value=" 确认压缩 " class="button"> <input type="hidden" name="hid1" value="ok"></td> </tr> </table> </td> <td></td> </tr> <tr> <td><img src="../images/r_4.gif" alt="" /></td> <td></td> <td><img src="../images/r_3.gif" alt="" /></td> </tr> </table> </form> <% else '----------------------------------------- Dim dbpath,boolIs97 dbpath="../"&request.form("mdbpath") boolIs97=request.form("ys") If dbpath <> "" Then dbpath = server.mappath(dbpath) response.write(CompactDB(dbpath,boolIs97)) End If 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 response.write"<script>alert('您的数据库已经压缩成功!');history.go(-1)</script>" response.End() Else response.write"<script>alert('数据库名称或路径不正确. 请重试!');history.go(-1)</script>" response.End() End If End Function '-------------------------------------------- end if %> </body> </html>,网上有很多代码,可以参考下!内容来自www.zgxue.com请勿采集。


  • 本文相关:
  • c#.net 动态读取 走马灯代码实例分享
  • 使用asp.net mvc4中的bundle遇到的问题及解决办法分享
  • gridview实现服务器端和客户端全选的两种方法分享
  • asp.net删除文件session丢失
  • 一个比较通用的分页控件,完整的设计时支持和比较流行的分页模式
  • 解决 .net core 中 gethostaddressesasync 引起的 enyimmemcache
  • asp.net 2.0 无刷新图片上传 显示缩略图 具体实现
  • asp.net中session的原理及应用详解
  • asp.net中dbnull.value,null,string.empty区别浅析
  • c#开发微信 二维码鼠标滑动 图像显示隐藏效果(推荐)
  • ASP如何压缩ACCESS数据库
  • asp网站用的access数据库怎么在线压缩数据库
  • ASP在线压缩ACCDB数据库
  • asp如何在线修改access数据库
  • asp如何压缩access2003
  • 谁有ASP在线压缩ACCESS数据库代码,要不损坏的
  • 如何压缩Access数据库
  • 如何压缩和修复Access数据库
  • 如何使用Access数据库压缩文件?
  • 由于使用Access数据库越来越大,在程序中如何压缩A...
  • 网站首页网页制作脚本下载服务器操作系统网站运营平面设计媒体动画电脑基础硬件教程网络安全基础应用实用技巧自学过程首页asp.net用asp实现在线压缩与解压缩功能代码用asp.net实现文件的在线压缩和解压缩asp 连接access数据库的登陆系统asp连接access、sql数据库代码及数据库操作代码asp连接access数据库的几种方法access数据库的一些少用操作,asp,创建数据库文件,创建表,创建字段,adoxc#.net 动态读取 走马灯代码实例分享使用asp.net mvc4中的bundle遇到的问题及解决办法分享gridview实现服务器端和客户端全选的两种方法分享asp.net删除文件session丢失一个比较通用的分页控件,完整的设计时支持和比较流行的分页模式解决 .net core 中 gethostaddressesasync 引起的 enyimmemcacheasp.net 2.0 无刷新图片上传 显示缩略图 具体实现asp.net中session的原理及应用详解asp.net中dbnull.value,null,string.empty区别浅析c#开发微信 二维码鼠标滑动 图像显示隐藏效果(推荐)java正则表达式 pattern和matche未将对象引用设置到对象的实例 (asp.net(c#)网页跳转七种方法小结未能加载文件或程序集“xxx”或它asp.net“服务器应用程序不可用”asp.net中的几种弹出框提示基本实asp.net gridview 72般绝技asp.net生成excel并导出下载五种asp.net对路径"xxxxx"asp.net汉字转拼音和获取汉字首字asp.net mvc4 razor模板简易分页效果.net 水晶报表使用代码asp.net 简便无刷新文件上传系统asp.net 提高网站速度及如何利用缓存数据库开发总结(ado.net小结)开启sqlserver数据库缓存依赖优化网站性能asp.net中button控制先执行js再执行后台程asp.net core mvc/webapi基础系列2asp.net mvc自定义错误页面真的简单吗?asp.net下实现输入数字的冒泡排序
    免责声明 - 关于我们 - 联系我们 - 广告联系 - 友情链接 - 帮助中心 - 频道导航
    Copyright © 2017 www.zgxue.com All Rights Reserved