<%
'###### 다음은 클래스 파일이며 다음 주석은 수업############################################################################################################### ####################################################################################################################
'# 참고 : 시스템이 Scripting.FilesyStemObject 오브젝트 작성을 지원하지 않으면 데이터베이스 압축 기능이 사용되지 않습니다.
'# 액세스 데이터베이스 클래스
'# createbfile은 액세스 데이터베이스 파일을 만듭니다
'# compactDatabase는 액세스 데이터베이스 파일을 압축합니다
'# 객체 생성 메소드 :
'# set a = 새로운 데이터 세트
'# by (Xiao Hanxue) sf
'###########################################################################
클래스 DatabasEtools
public function byval dbfilename, byval dbver, byval savepath)
'데이터베이스 파일을 만듭니다
'dbver가 0이면 Access97 dbfile을 만듭니다
'dbver가 1이면 Access2000 dbfile을 만듭니다
다음에 오류가 재개됩니다
오른쪽 (SavePath, 1) <> "/"또는 오른쪽 (SavePath, 1) <> "/"SavePath = Trim (SavePath) & "/"
왼쪽 (dbfilename, 1) = "/"또는 왼쪽 (dbfilename, 1) = "/"그런 다음 dbfilename = trim (mid (dbfilename, 2, len (dbfilename))).
dbexists (savepath & dbfilename)
response.write ( "죄송합니다.이 데이터베이스는 이미 존재합니다!")
createdbfile = false
또 다른
Dim CA
ca = server.createobject ( "adox.catalog")
err.number <> 0 인 경우
response.write ( "설정할 수 없으므로 오류 메시지를 확인하십시오
"& err.number &"
"& err.description)
err.clear
종료 기능
끝 If
dbver = 0이면
CA. CA.Create ( "Provider = Microsoft.jet.oledb.3.51; Data Source ="& SavePath & DBFilename)
또 다른
CA. CA.Create ( "Provider = Microsoft.jet.oledb.4.0; data source ="& savepath & dbfilename)
끝 If
CA = 아무것도 설정하지 않습니다
createdbfile = true
끝 If
엔드 기능
공개 기능 compactDatabase (byval dbfilename, byval dbver, byval savepath)
'데이터베이스 파일을 압축합니다
'0 액세스의 경우 0
'1은 Access 2000의 경우
다음에 오류가 재개됩니다
오른쪽 (SavePath, 1) <> "/"또는 오른쪽 (SavePath, 1) <> "/"SavePath = Trim (SavePath) & "/"
왼쪽 (dbfilename, 1) = "/"또는 왼쪽 (dbfilename, 1) = "/"그런 다음 dbfilename = trim (mid (dbfilename, 2, len (dbfilename))).
dbexists (savepath & dbfilename)
response.write ( "죄송합니다.이 데이터베이스는 이미 존재합니다!")
compactDatabase = false
또 다른
Dim CD
cd = server.createobject 세트 ( "jro.jetengine")
err.number <> 0 인 경우
response.write ( "압축 할 수없고 오류 메시지를 확인하십시오
"& err.number &"
"& err.description)
err.clear
종료 기능
끝 If
dbver = 0이면
cd.compactdatabase ( "제공자 = microsoft.jet.oledb.3.51; data source ="& savepath & dbfilename, "provider = microsoft.jet.oledb.3.51; data
Source = "& savepath & dbfilename &".bak.mdb; jet eledb; 암호화 데이터베이스 = true ")
또 다른
cd.compactdatabase ( "제공자 = microsoft.jet.oledb.4.0; data source ="&
SavePath & DBFILENAME, "제공자 = Microsoft.jet.oledb.4.0; Data Source ="&
SavePath & DBFILENAME & ".BAK.MDB; JET OLEDB; ENCRYPT DATABASE = TRUE")
끝 If
'오래된 데이터베이스 파일을 삭제합니다
deletefile (savepath & dbfilename) 호출
'압축 데이터베이스 파일을 복원하십시오