我有一个从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")
谢谢!