asp如何对Access数据库进行压缩?
来源:asp之家 时间:2009-11-19 21:20:00
asp压缩access数据库,具体asp代码见下:
Class DatabaseTools
Public function CreateDBfile(byVal dbFileName,byVal DbVer,byVal SavePath)
' 建立数据库文件:DbVer为0创建Access97 数据库,为1则创建Access2000 dbFile
On error resume Next
If Right(SavePath,1)<>"\" Or Right(SavePath,1)<>"/" Then SavePath = Trim(SavePath) & "\"
If Left(dbFileName,1)="\" Or Left(dbFileName,1)="/" Then dbFileName = Trim(Mid (dbFileName,2,Len(dbFileName)))
If DbExists(SavePath & dbFileName) Then
Response.Write ("对不起,该数据库已经存在!")
CreateDBfile = False
Else
Dim Ca
Set Ca = Server.CreateObject("ADOX.Catalog")
If Err.number<>0 Then
Response.Write ("数据库建立失败,请检查后再操作!<br>" & Err.number & "<br>"
& Err.Description)
Err.Clear
Exit function
End If
If DbVer=0 Then
call Ca.Create("Provider=Microsoft.Jet.OLEDB.3.51;Data Source=" &SavePath & dbFileName)
Else
call Ca.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &
SavePath & dbFileName)
End If
Set Ca = Nothing
CreateDBfile = True
End If
End function
Public function CompactDatabase(byVal dbFileName,byVal DbVer,byVal SavePath)
' 压缩数据库文件,0为access 97, 1 为access 2000
On Error resume next
If Right(SavePath,1)<>"\" Or Right(SavePath,1)<>"/" Then SavePath = Trim(SavePath) & "\"
If Left(dbFileName,1)="\" Or Left(dbFileName,1)="/" Then dbFileName = Trim(Mid (dbFileName,2,Len(dbFileName)))
If DbExists(SavePath & dbFileName) Then
Response.Write ("对不起,该数据库已经存在!")
CompactDatabase = False
Else
Dim Cd
Set Cd =Server.CreateObject("JRO.JetEngine")
If Err.number<>0 Then
Response.Write ("数据库压缩失败,请检查后再操作!<br>" & Err.number & "<br>"
& Err.Description)
Err.Clear
Exit function
End If
If DbVer=0 Then
call Cd.CompactDatabase("Provider=Microsoft.Jet.OLEDB.3.51;Data
Source=" & SavePath & dbFileName,"Provider=Microsoft.Jet.OLEDB.3.51;Data Source=" & SavePath & dbFileName
& ".bak.mdb;Jet OLEDB;Encrypt Database=True")
Else
call Cd.CompactDatabase("Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=" & SavePath & dbFileName,"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & SavePath & dbFileName
& ".bak.mdb;Jet OLEDB;Encrypt Database=True")
End If
call DeleteFile(SavePath & dbFileName)
' 删除旧的数据库文件
call RenameFile(SavePath & dbFileName & ".bak.mdb",SavePath & dbFileName)
' 将压缩后的数据库文件还原
Set Cd = False
CompactDatabase = True
End If
end function
Public function DbExists(byVal dbPath)
' 检查数据库文件是否存在
On Error resume Next
Dim c
Set c = Server.CreateObject("ADODB.Connection")
c.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dbPath
If Err.number<>0 Then
Err.Clear
DbExists = false
else
DbExists = True
End If
set c = nothing
End function
Public function AppPath()
' 取当前真实路径
AppPath = Server.MapPath("./")
End function
Public function AppName()
' 取当前程序名称
AppName = Mid(Request.ServerVariables("SCRIPT_NAME"),(InStrRev(Request.ServerVariables ("SCRIPT_NAME") ,"/",-1,1))+1,Len(Request.ServerVariables("SCRIPT_NAME")))
End Function
Public function DeleteFile(filespec)
' 删除一个文件
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
If Err.number<>0 Then
Response.Write("文件删除失败,请检查后再操作!<br>" & Err.number & "<br>" &
Err.Description)
Err.Clear
DeleteFile = False
End If
call fso.DeleteFile(filespec)
Set fso = Nothing
DeleteFile = True
End function
Public function RenameFile(filespec1,filespec2)
' 修改一个文件
Dim fso
Set fso = CreateObject("Scripting.FileSystemObject")
If Err.number<>0 Then
Response.Write("文件名修改失败, 请检查后再操作! <br>" & Err.number & "<br>"
& Err.Description)
Err.Clear
RenameFile = False
End If
call fso.CopyFile(filespec1,filespec2,True)
call fso.DeleteFile(filespec1)
Set fso = Nothing
RenameFile = True
End function
End Class
%>
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
sqlserver 不重复的随机数
CSS教程:简单理解em
说说掌握JavaScript语言的思想前提
一个非常有代表性的javascript简易拖动类
细线表格的处理
网页图片按钮的生成与美化
不用script仅用css编写无限级弹出菜单
![](https://img.aspxhome.com/file/UploadPic/20084/24/css-menu_89s.gif)
CSS制作11种风格不同的特效文字
汇总数据库备份 还原 压缩与数据库转移的方法
什么是Ajax及Ajax的优势
![](https://img.aspxhome.com/file/UploadPic/up/2007091821580144.jpg)
22个HTML5的初级技巧
![](https://img.aspxhome.com/file/UploadPic/201012/17/01-40s.jpg)
js自定义网页右键菜单方法
jQuery 横向滚动图片
【总结】ASP如何获取访客真实的IP地址
ASP应用之教你使用模板
![](https://img.aspxhome.com/file/UploadPic/up/2008101513214365.gif)
可以实现在同一页面里的用多按钮进行提交吗?
javascript 跨浏览器的事件系统
asp会员系统如何实现“忘记密码”
垂直无缝滚动图片(兼容性好)实例教程源码下载
![](https://img.aspxhome.com/file/UploadPic/20104/6/scrollnews-65s.jpg)