经过大量研究后,我要求您提供指导!
使用 Python ,我必须进入多重访问数据库,并提取有关那些数据库内容的信息(表名,类型表,如果是链接表,则来源 ...)。
我从使用 pyodbc 开始,但是当我想访问包含所有我想要的数据的表 MSysObjects 时,却遇到了授权问题< / strong>(“ 无法读取记录,对“ \ xa0MSysObjects \ xa0 ”没有读取权限)。
经过一番搜索,我发现在Access DB中执行授权该请求的代码行很少。但是由于某些功能只能在Access DB上使用,因此需要从每个Access DB启动它。
因此,我决定使用 win32com 来查看它是否有解决方案。 可悲的是,事实并非如此。 我有完全相同的错误。
最后似乎只有很少的解决方案:
我希望我可以理解! 如果您对我想到的一种解决方案甚至其他解决方案都有答案,我将非常感激!
最诚挚的问候!
答案 0 :(得分:0)
如果您可以使用非Python解决方案,那么我认为VBA是此类工作的最佳工具。
Private Sub Command1_Click()
Dim db As DAO.Database, tbl As DAO.TableDef
Dim f As DAO.Field
Set db = CurrentDb() ' Connect to current database
' Loop through each table in the database
For Each tbl In db.TableDefs
Debug.Print "Table name: ", tbl.Name
' Loop throuth each field in the table
For Each f In tbl.Fields
Debug.Print "Field: ", f.Name
Next f
Next tbl
End Sub