如何从Python脚本压缩和修复Access数据库



我有一个从ArcGIS自定义工具箱运行的python脚本。该脚本处理Access数据库(主要是个人地理数据库)。我想知道的是,有没有一种方法可以从我的python脚本中压缩和修复访问数据库(特别是个人gdb)?

提前感谢您的任何帮助和建议,

本。

使用Python的win32com库并调用VBA方法CompactRepair()。请注意,在这个过程中需要一个备份文件路径(一个还不存在的路径),但可以在成功压缩后删除,为此需要使用os.remove()

import os
import win32com.client
srcDB = 'C:\Path\To\Database.accdb'
destDB = 'C:\Path\To\Database_backup.accdb'
oApp = win32com.client.Dispatch("Access.Application")
oApp.compactRepair(srcDB, destDB)
os.remove(destDB)
oApp = None  

我知道这是旧的,但对于将来使用它的人来说,这只是对上面代码的一个小改动(我现在不得不使用它,感谢Parfait发布了这个解决方案)。

声明行:

oApp = win32com.client.Dispatch("Access.Application")

应该是

oApp = win32com.Dispatch("Access.Application")

谢谢!

最新更新