Abrufen von Daten aus SQL Mit pyodbc
Ich versuche zum abrufen von Daten aus SQL server mithilfe von pyodbc und drucken Sie es in einer Tabelle mit Python. Jedoch kann ich nur scheinen, zum abrufen der Spalte name und der Datentyp und Sachen wie, dass, nicht die tatsächlichen Daten Werte in jeder Zeile der Spalte.
Grundsätzlich bin ich versucht, zu replizieren ein Excel-sheet abrufen der server-Daten und zeigt Sie in einer Tabelle. Ich bin nicht ohne Probleme auf den server verbinden, nur, dass ich kann nicht scheinen zu finden, die die tatsächlichen Daten, die in die Tabelle.
Hier ein Beispiel von meinem code:
import pyodbc
cnxn = pyodbc.connect('DRIVER={SQL Server};SERVER=SQLSRV01;DATABASE=DATABASE;UID=USER;PWD=PASSWORD')
cursor = cnxn.cursor()
cursor.execute("SELECT * FROM sys.tables")
tables = cursor.fetchall()
#cursor.execute("SELECT WORK_ORDER.TYPE,WORK_ORDER.STATUS, WORK_ORDER.BASE_ID, WORK_ORDER.LOT_ID FROM WORK_ORDER")
for row in cursor.columns(table='WORK_ORDER'):
print row.column_name
for field in row:
print field
Jedoch das Ergebnis dieser macht mir einfach Dinge wie der name der Tabelle, die Spaltennamen und einige ganze zahlen und 'None' s und ähnliche Dinge, die nicht für mich von Interesse:
STATUS_EFF_DATE
DATABASE
dbo
WORK_ORDER
STATUS_EFF_DATE
93
datetime
23
16
3
None
0
None
None
9
3
None
80
NO
61
So, ich bin nicht wirklich sicher, wo ich mit den Werten zu füllen meine Tabelle. Würde sollte es in der Tabelle='WORK_ORDER', aber könnte es sein, unter einem anderen Tabellennamen? Gibt es eine Möglichkeit, das drucken der Daten, ich bin gerade fehlt?
Jede Beratung oder Anregungen würde sehr geschätzt werden.
cursor.execute('select * from WORK_TABLE')
? InformationsquelleAutor der Frage Mike | 2012-07-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Du bist so nah!
("columns ()" - Funktion speichert meta-Daten über die Spalten in der benannten Tabelle, im Gegensatz zu den tatsächlichen Daten).
InformationsquelleAutor der Antwort Chris Curvey
Damit erhalten die tatsächlichen Daten in der Tabelle gespeichert ist, sollten Sie mit einer fetch... () - Funktionen, oder verwenden Sie die cursor als iterator (d.h. "für die Reihe in cursor"...). Dies ist beschrieben in der Dokumentation:
InformationsquelleAutor der Antwort anonymous_user