我不熟悉 pyodbc,但我过去在 VBA 中做过。
您提到的 2 个链接适用于 SQL Server,而不适用于 Access。要找出 Access 表中每个字段的数据类型,可以使用 DAO 或 ADOX。
这是我在 Excel 2010 的 VBA 中所做的一个示例,我在其中连接到 Access 数据库(2000 mdb 格式)并列出表、字段及其数据类型(作为枚举,例如“4”表示 dbLong)。您可以在输出中看到系统表,并在底部看到用户创建的表。您可以在 Internet 上轻松找到有关如何使用 ADOX 执行类似操作的示例。我希望这有帮助。
Private Sub TableDefDao()
Dim db As DAO.Database
Set db = DAO.OpenDatabase("C:\Database.mdb")
Dim t As DAO.TableDef
Dim f As DAO.Field
For Each t In db.TableDefs
Debug.Print t.Name
For Each f In t.Fields
Debug.Print vbTab & f.Name & vbTab & f.Type
Next
Next
End Sub