Ich schreibe ein Python-Programm, das einige Daten aus einer Microsoft Access MDB-Datei mit PyODBC auswählt.Wählen Sie Spaltennamen in einer Tabelle mit PyODBC
Ich brauche die Spaltennamen von mehreren verschiedenen Tabellen zu entdecken. In SQL Server, kann dies durch die Verwendung einer Abfrage wie
SELECT c.name FROM sys.columns c, sys.tables t
WHERE c.object_id = t.object_id
AND t.name = tableName
erreicht werden, aber die Abfrage funktioniert nicht in Access. Mit
SELECT MSysObjects.Name FROM MSysObjects
WHERE (((MSysObjects.Flags)=0) AND ((MSysObjects.Type)=1))
ORDER BY MSysObjects.Name
kann ich eine Liste von nicht verknüpften Tabellennamen, aber MSysObject scheint nicht eine Liste der Spaltennamen zu enthalten.
Gibt es eine Möglichkeit SQL zu verwenden, um die Spaltennamen einer Tabelle in einer Access-Datenbank zu greifen?
zurückkehren Wenn Sie eine Verbindung haben, können Sie ein ADO-Schema verwenden: 'Set rs = cn.OpenSchema (adSchemaTables, Array (Leer , Leer, Leer, "Tabellenname"))? Siehe auch http://msdn.microsoft.com/en-us/library/kcax58fh(VS.80).aspx – Fionnuala
kann ich nicht. Aber während ich nachgesehen habe, entdeckte ich, dass PyODBC eine Hilfsmethode hat, die SQLColumns verwendet. – James