Ich kann keine Verbindung zu mySQL db mit Pyodbc herstellen.pyodbc und mySQL
Hier ist ein Ausschnitt aus meinem Skript:
import pyodbc
import csv
cnxn = pyodbc.connect("DRIVER={MySQL ODBC 3.51 Driver}; SERVER=localhost;DATABASE=mydb; UID=root; PASSWORD=thatwouldbetelling;")
crsr = cnxn.cursor()
with open('C:\\skunkworks\\archive\\data\\myfile.csv','r') as myfile:
rows = csv.reader(myfile, delimiter=',', quotechar='"')
for row in rows:
insert_str = 'INSERT into raw_data VALUES(something, something)'
print insert_str
#crsr.execute(insert_str)
cnxn.commit()
myfile.close()
I am pyodbc.connect() Linie diesen Fehler:
pyodbc.Error: ('IM002', '[IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified (0) (SQLDriverConnectW)')
ich diesen Fehler eine andere Frage in Bezug auf (und Python-Skripten Im Algemeinen). Wenn ich dies als ein Skript ausführe, schlägt es im Hintergrund fehl (ich hatte einen Stack-Trace erwartet). Ich muss jede Zeile manuell eingeben, um den Fehler zu finden.
Ich bin jetzt ein wenig faul (keine Ausnahme Behandlung) - ist das normale Verhalten eines Python-Skripts ohne Ausnahme-Behandlung stillschweigend fehlschlagen?
[Bearbeiten]
ich nicht mysqldb bin mit, weil ich schon Pyodbc bin mit meinen Daten aus einer anderen Quelle (MS Access) zu extrahieren. Ok, kein guter Grund - aber ich habe mich schon mit pyodbc herumgeschlagen und ich habe wirklich keine Lust mit einer anderen Bibliothek/Modul/Paket (was auch immer in Python genannt wird) für einen "einmaligen" Job zu kämpfen. Ich möchte nur meine Daten von verschiedenen Datenquellen in der Windows-Umgebung zu mySQL unter Linux verschieben. Einmal unter Linux bin ich wieder auf der Erde.
Das ist das ganze "Skript" genau dort. Ich habe gerade den obigen Code in einer Datei mit der Erweiterung .py gespeichert, und ich führe python myscript.py in der Befehlszeile aus. Ich führe dies auf meinem XP-Rechner
Warum verwenden Sie den mysqldb-Treiber nicht? –
"Wenn ich das als Skript ausführen"? Was hast du eigentlich gemacht? Bitte geben Sie einen Hinweis, was Sie getan haben. Welches OS? Was ist die Hölle? –
"Ich habe nicht wirklich Lust, mit einer anderen Bibliothek/einem anderen Modul/Paket (was auch immer in Python genannt wird) für einen" einmaligen "Job zu ringen." Das verstößt gegen die Python-Weltansicht. Es scheint, dass wir nur neue Pakete herunterladen und mit ihnen ringen. Die Verwendung eines Pakets für den beabsichtigten Zweck ist wichtig. 'pyodbc' kann wahrscheinlich keine Verbindung zu MySQL herstellen. Zeitraum. –