我有一个从ArcGIS自定义工具箱运行的python脚本。该脚本处理Access数据库(主要是个人地理数据库)。我想知道的是,有没有办法从我的python脚本压缩和修复访问数据库(特别是个人gdb)?
提前感谢您的任何帮助和建议,
本。
答案 0 :(得分:3)
使用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
答案 1 :(得分:0)
我知道这已经过时了,但是对于将来使用它的人来说只是对上面代码的一个小改动(我现在必须使用它,感谢Parfait发布此解决方案)。
说明的一行:
oApp = win32com.client.Dispatch("Access.Application")
应该是
oApp = win32com.Dispatch("Access.Application")
谢谢!