Set Ca = Nothing CreateDBfile = True
0 p( I! @7 i0 ]( Y2 q End If
/ w. {/ Q& U% V* J" u4 \ End function
, F6 A2 j: \: I! ]4 U4 T Public function CompactDatabase(byVal dbFileName,byVal DbVer,byVal SavePath); C2 m5 v ~ D' Y0 m
’压缩数据库文件" _6 T0 Q: Z& O9 z+ k0 s
’0 为access 970 A7 `0 J) T( L5 A
’1 为access 2000
: r, T, X' C6 q" W3 Y5 U On Error resume next( y2 p% g) P1 z- ?; h6 y( F
If Right(SavePath,1)"\" Or Right(SavePath,1)"/" Then SavePath = Trim(SavePath) & "\"6 r0 Y! e; }' B$ L/ e
If Left(dbFileName,1)="\" Or Left(dbFileName,1)="/" Then dbFileName = Trim(Mid(dbFileName,2,Len(dbFileName)))
! u$ R5 C; i1 s If DbExists(SavePath & dbFileName) Then
" Y, U. Q* V0 a4 H$ E: b z- C Response.Write ("对不起,该数据库已经存在!")
, g3 l( ?8 t6 ]/ J CompactDatabase = False
! [8 T. x! Q3 {/ Z Else. O/ c1 c* O7 J7 Y! t
Dim Cd
1 E8 T1 f9 @% N5 H) E Set Cd =Server.CreateObject("JRO.JetEngine")
' @- E4 V7 @1 o. b9 k: _& k If Err.number0 Then5 V- H( F! ^* \- A0 ~, {
Response.Write ("无法压缩,请检查错误信息
0 \" T# I* c% B1 k Q " & Err.number & ") D/ r9 _' \" M' X& c9 r
" & Err.Description)9 Y& [3 @ X: J# S2 |( s
Err.Clear2 f1 M+ f2 Z& P: H: v' x8 h0 R8 _+ x- q
Exit function
) ^( w7 g% H9 {/ ^" k7 w- X9 d End If
) q7 Z7 L+ u3 Q7 M; U# f" i h& z If DbVer=0 Then* y5 c J' T' X4 r6 A( b
call Cd.CompactDatabase("Provider=Microsoft.Jet.OLEDB.3.51;Data Source=" & SavePath & dbFileName,"Provider=Microsoft.Jet.OLEDB.3.51;Data
' H; V, r" O' n0 O" ~/ p, b& g' v Source=" & SavePath & dbFileName & ".bak.mdb;Jet OLEDB;Encrypt Database=True")
8 e$ I3 e- c% e- M4 Z% ] Else( Y* X9 g# o; e% p1 y+ M' `; N* O
call Cd.CompactDatabase("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" &# i ~% o2 k) U B+ u) E; |
SavePath & dbFileName,"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" && q4 ?+ D+ E+ S, d
SavePath & dbFileName & ".bak.mdb;Jet OLEDB;Encrypt Database=True")
/ f6 E0 f! ^& H8 I/ C8 g; s' B End If
5 E3 B" i/ w6 x, y: T ’删除旧的数据库文件& Q$ O$ J6 G. n% W* d7 s) l
call DeleteFile(SavePath & dbFileName)
}9 d r& p [5 T! _ ’将压缩后的数据库文件还原
- @( i, H2 N l3 \, ` call RenameFile(SavePath & dbFileName & ".bak.mdb",SavePath & dbFileName), F# w7 _ d O, k9 e2 \
Set Cd = False6 O; F; s2 Z) D
CompactDatabase = True
' y+ _; v+ M. p s6 F End If |