纯编码实现Access数据库的建立或压缩

2016-01-29 17:42 7 1 收藏

纯编码实现Access数据库的建立或压缩,纯编码实现Access数据库的建立或压缩

【 tulaoshi.com - ASP 】

  纯编码实现Access数据库的建立或压缩!!

<%
'#######以下是一个类文件,下面的注解是调用类的方法################################################
'#  注意:如果系统不支持建立Scripting.FileSystemObject对象,那么数据库压缩功能将无法使用
'#                          Access 数据库类
'# CreateDbFile 建立一个Access 数据库文件
'# CompactDatabase 压缩一个Access 数据库文件
'# 建立对象方法:
'#     Set a = New DatabaseTools
'#                               by (萧寒雪) s.f.
'#########################################################################################

Class DatabaseTools

Public function CreateDBfile(byVal dbFileName,byVal DbVer,byVal SavePath)
'建立数据库文件
'If DbVer is 0 Then Create Access97 dbFile
'If DbVer is 1 Then Create 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.Connec

来源:http://www.tulaoshi.com/n/20160129/1502589.html

延伸阅读
在office 2000下,Access数据库的安全机制已经更为完善。除了对数据库设置密码保护,对数据库进行编码压缩,还可以启用用户级的安全机制,在用户级别上控制对数据库的访问。 一、数据库设置密码- 对于单机使用的数据库或者是需要工作组共享的数据库,仅设置密码保护较为合适。知道密码的组成员,都有数据库的完全操作权限,彼...
标签: ASP
      感觉做一个论坛不像想象中的那么容易,但也不像想象中的那么复杂:),经过4天的浴血奋战,终于从对论坛制作一无所知到今天的论坛数据结构和组织形势初步确定,中间参考了sunamd,bigeagled,廖家远等的思路,并得到了赖皮王子,hooke,bigeagle大虾的热心帮助,谨以此文一并表示感谢。     bigeagle的...
介绍 下面这段C# 代码可以用来压缩和修复Access数据库,不管它是一个简单的".mdb"ACCESS数据库还是一个".mdw"网络共享数据库,这个过程和你在用MS Access应用程序中使用的"工具-数据库实用工具-压缩和修复"时执行的操作完全一样.实例代码使用了"迟绑定"(运行中在内存中建立COM对象),这样就不需要在工程中加入COM引用了,也不需要在PC上安装MS Acc...
标签: SQLServer
      不同数据库平台的互连一般称之为数据库的异构服务,现在各大数据库之间都可以实现这样的异构互连,只是各厂商的具体实现技术不一样,如:在SQL SERVER里面叫做LINKED SERVER,通过ODBC实现与其它数据库的互联。   本文的测试环境为: 操作系统:  WINDOWS2000 SERVER (繁体系统) 安装数据库: SQLSERVER20...
标签: ASP
  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 Provider for Jet, version 4.0 --------------------------------...

经验教程

784

收藏

69
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部