壓縮修復Access MDB資料庫

/***********************************************
函數名稱: f_compactandrepairaccessdb
功能:  壓縮修復Access MDB資料庫
參數:
  as_mdb  資料庫檔案所在的位置EX:f_compactandrepairaccessdb("C:/DataBase.mdb")
回傳:
  0  表示動態配置成功
   -1 表示動態配置失敗
設計者: Arno
完成日期: 2007.07.27
***********************************************/

n_cst_apisrv ln_cst_api

//檢查資料庫檔案是否存在
IF Not FileExists(as_mdb) THEN RETURN -1

//建立臨時檔
String ls_tmpFIle
ls_tmpFIle = Space(255)
ln_cst_api.GetTempPathA(255,ls_tmpFIle)
ls_tmpFIle+= "temp.mdb"

//宣告DBEngine
Integer result
oleo b j e c t ole_DBEngine
ole_DBEngine = Create oleo b j e c t
result = ole_DBEngine.ConnectToNewObject("JRO.JetEngine")

//OLE物件宣告失敗
IF  result <> 0 THEN RETURN result

//透過 DBEngine 壓縮修復資料庫檔案
String sProvider = 'Provider=Microsoft.Jet.OLEDB.4.0;Jet OLEDB:Database Password=123;'
String sOldMDB,sNewMDB
sOldMDB = sProvider + 'Data Source= ' + as_mdb
sNewMDB = sProvider + 'Data Source= ' + ls_tmpFIle
ole_DBEngine.CompactDatabase(sOldMDB, sNewMDB)
Destroy ole_DBEngine

//複製壓縮過之臨時檔至原來位置
FIleCopy(ls_tmpFIle,as_mdb,True)

//刪除臨時檔
FileDelete(ls_tmpFIle)

RETURN 0

 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值