找回密码
 立即加入
搜索

查看: 1006|回复: 3

[原创]压缩数据库

[复制链接]
冬冬 发表于 2005-9-14 00:00:12 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转闽南师范大学。

您需要 登录 才可以下载或查看,没有账号?立即加入

×
<%
4 v" ^0 c  t; z) C2 ]; yoption explicit, O; K# }0 |! e  F0 ]( X1 ]* f
Const JET_3X = 4
9 f" E- b* N2 H0 HFunction CompactDB(dbPath, boolIs97)" n5 O" \, i4 k) j
Dim fso, Engine, strDBPath: R4 b4 o$ F% A' y% d' q
strDBPath = server.mappath("./")* }+ w+ N% s! y8 P7 w6 C
Set fso = CreateObject("Scripting.FileSystemObject")4 j* {: Q& ~  l* s2 \& i2 W1 a
If fso.FileExists(dbPath) Then, Y5 ^$ d! m# h7 J" i/ m" l& M
Set Engine = CreateObject("JRO.JetEngine")
3 ~* M6 v) T; Y2 bIf boolIs97 = "True" Then) C6 E/ r' d; R/ u8 s5 w
Engine.CompactDatabase "rovider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dbpath, _+ ?+ Q6 q+ C% i$ p7 y7 N. G, V5 R
"rovider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDBPath & "temp.mdb;" _
5 r4 w3 W, F. g! T( i' B- ^& "Jet OLEDB:Engine Type=" & JET_3X
, U$ h* l0 U" Z7 m8 M5 fElse( R- g. c6 G# \5 v( X; d
Engine.CompactDatabase "rovider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dbpath, _' ]' i& A  ~! [' d0 ]7 Z
"rovider=Microsoft.Jet.OLEDB.4.0;Data Source=" & strDBPath & "temp.mdb"
3 p2 D% E8 G, v( a/ m. mEnd If( s, ]3 S8 y; l8 |" ~
fso.CopyFile strDBPath & "temp.mdb",dbpath
+ s3 V0 K; S/ g, [0 v6 |" Pfso.DeleteFile(strDBPath & "temp.mdb")$ H, a. j' z3 m- W% Z# W  p& `6 N
Set fso = nothing! R# {/ Z. t. C* B
Set Engine = nothing+ a& F: r% ~7 F
CompactDB = " 您的数据库:" & dbpath & "已经被成功压缩" & vbCrLf
5 [+ k5 v  u8 p" Z+ JElse& k% L* a# o; Q2 Z4 |
CompactDB = "找不到该文件,请检查路径是否正确" & vbCrLf
: C0 u& _8 Z# H2 E$ e! E9 {End If
9 n# i$ L9 q, F" n" mEnd Function+ c" g  U9 Z$ N; ~* _/ R. e. z" q; _
%>2 s2 ]! o- h+ e# Z* G
<html><head><title>压缩数据库</title></head><body>
7 I+ d' A2 @% o<h2 align="center"><b><font size="3" color="#0066CC">压缩数据库</font></b></h2>3 u8 r5 S5 C" V3 Q7 F! w
<p align="center">: ^* k9 [( u* y3 C
<form action=index.asp>
4 q: a" p$ X7 S' s9 @; g+ J  <font size="2">请输入您的数据库文件地址(如data/mdb.mdb)</font><br>' P/ f( A  ]( c" g9 }! g
  <br>
6 x$ U# ]4 D* P$ P& \( n4 G: M  R<input><br><br>
+ q1 H& o" v; w7 \! N% c/ P& v<input>
1 M# y8 s" A/ z  <font size="2"> 检查是否是ACCESS97(默认是2000)</font><br>
; o/ G3 S4 s7 W/ U  <br>% L! M9 o: V* }; Q, W/ @
<input type="submit">
# ^1 p" z$ ^& @" `  M  H- E</form><form>8 a5 t- A- O5 d* v& z0 V
<br><br></form>% U) b: Y. J1 S# J( Z( T
<%. f* t6 C# O; V: R
Dim dbpath,boolIs971 R6 v4 F! }$ f# H2 W
dbpath = request("dbpath")
. S; [% ~' n' t/ hboolIs97 = request("boolIs97")
; a# i- `: e, q6 E- m/ c" S% a8 QIf dbpath <> "" Then% g3 \9 ^1 w# `/ n, Y9 x
dbpath = server.mappath(dbpath)
' P& K' I+ p" e, ?$ N* [% D0 Lresponse.write(CompactDB(dbpath,boolIs97))
  }. c, U& J) g* Y5 I# j" `End If# E' S  c# J- U0 Y+ g
%>
宣传/支持龙江曦月.龙江曦月需要理解,适宜长居
落雨飘花 发表于 2005-9-14 00:59:35 | 显示全部楼层
冬冬mm好厉害哦
宣传/支持龙江曦月.龙江曦月需要理解,适宜长居
回复

使用道具 举报

hyc0214 发表于 2005-9-14 02:23:22 | 显示全部楼层
关键代码(不是原创的哦!):
4 d1 p& |5 g( O' _$ N4 j/ X+ Q# Ddbtype=1\'假设当前系统数据库为Access97
* g! b% r, O0 M& C% \8 _* X1 yr_dbfile=server.mappath(\"database/data.mdb\")\'database/data.mdb数据库地址
( [: w# }+ z* b9 @6 M: M; ?& Dif dbtype=1 then \'系统数据库为Access971 v& W( A4 A8 z$ h2 |1 j
  Engine.CompactDatabase \"rovider=Microsoft.Jet.OLEDB.4.0;Data Source=\" & r_dbfile,\"rovider=Microsoft.Jet.OLEDB.4.0;Data Source=\" & r_dbfile & \".tmp;Jet OLEDB:Engine Type=4\", G& h6 R% {+ k5 v* X% o
elseif dbtype=2 then \'系统数据库为Access2000  O4 d/ V/ Z$ T5 X$ I8 z, {) [
  Engine.CompactDatabase \"rovider=Microsoft.Jet.OLEDB.4.0;Data Source=\" & r_dbfile,\"rovider=Microsoft.Jet.OLEDB.4.0;Data Source=\" & r_dbfile & \".tmp;\"
6 x6 b% i2 a/ h end if- F7 Q# R1 G: {, N5 t. x3 b6 e! S% n6 {- ?- z
[此贴子已经被作者于2005-9-13 18:46:55编辑过]
宣传/支持龙江曦月.龙江曦月需要理解,适宜长居
回复

使用道具 举报

 楼主| 冬冬 发表于 2005-9-14 02:40:31 | 显示全部楼层
呵呵,猪八戒 ,你很上进
) M7 z% s& t  ?3 u5 s8 ^# G" w7 B( @不错
宣传/支持龙江曦月.龙江曦月需要理解,适宜长居
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即加入

本版积分规则

手机版|龙江曦月 ( 闽ICP备05009150号-1 )闽公安网备35060202000316

GMT+8, 2025-5-26 09:09 , Processed in 0.040731 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表