Pyodbc-Fehler Datenquellenname nicht gefunden und kein Standardtreiber angegebenes Paradoxon

Ich versuche, pyobdc zu verwenden, um Daten aus einer paradox-Datenbank zu lesen, und ich pyobdc immer den folgenden Fehler beim Versuch, eine Verbindung zur Datenbank pyobdc :

 pyodbc.Error: ('IM002', '[IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified (0) (SQLDriverConnect)') 

Ich habe versucht, neue DNS-Links für die Datenbank zu erstellen, aber es hat nicht geholfen, was so überhaupt.

Meine Systemverbindungen sehen so aus:

So sieht das System DNS aus

Mein Code ist:

 import os import sys import time import pyodbc LOCATION = "c:\Users\Marcello\Desktop\DATA\ScorMonitor.db" cnxn = pyodbc.connect(r"Driver={{Microsoft Paradox Driver (*.db )}};Fil=Paradox 5.X;DefaultDir={0};Dbq={0}; CollatingSequence=ASCII;") cursor = cnxn.cursor() cursor.execute("select last, first from test") row = cursor.fetchone() print row 

One Solution collect form web for “Pyodbc-Fehler Datenquellenname nicht gefunden und kein Standardtreiber angegebenes Paradoxon”

Zwei Gedanken darüber, was zu überprüfen:

1) Ihre Verbindungszeichenfolge ist falsch. Es gibt einen Weg, um eine bekannte gute Verbindungszeichenfolge direkt aus dem ODBC-Administrator-Programm zu erhalten (genommen von http://www.visokio.com/kb/db/dsn-less-odbc ). Diese Anweisungen gehen davon aus, dass Sie ein MDB verwenden, aber der gleiche Prozess wird für eine Paradox-Datei arbeiten

  • Öffnen Sie auf einem typischen Client-PC die Systemsteuerung -> Verwaltung -> Datenquellen.
  • Wählen Sie die Registerkarte Datei-DSN und klicken Sie auf Hinzufügen.
  • Wählen Sie den entsprechenden Treiber aus (zB "Microsoft Access Driver (* .mdb)") und klicken Sie auf Weiter
  • Klicken Sie auf Durchsuchen und wählen Sie, wo Sie die .dsn-Datei speichern möchten (dies ist eine temporäre Datei, die Sie später löschen möchten).
  • Klicken Sie auf Weiter und dann auf Fertig stellen.
  • Sie werden den herstellerspezifischen ODBC-Setup-Dialog angezeigt. Beispielsweise können Sie mit Microsoft Access nur auf Select klicken und zu einer vorhandenen MDB-Datei durchsuchen, bevor Sie auf OK klicken.
  • Navigieren Sie zum Speicherort der .dsn-Datei und öffnen Sie mit Notepad.

In der DSN-Datei sehen Sie vielleicht etwas Ähnliches:

 [ODBC] DRIVER=Microsoft Access Driver (*.mdb) UID=admin UserCommitSync=Yes Threads=3 SafeTransactions=0 PageTimeout=5 MaxScanRows=8 MaxBufferSize=2048 FIL=MS Access DriverId=25 DefaultDir=C:\ DBQ=C:\db1.mdb 

Um das oben in den vollständigen Verbindungsstring umzuwandeln:

  1. Lassen Sie die erste [ODBC] -Linie aus
  2. Setzen Sie lockige Klammern um alle Werte, die Leerzeichen enthalten
  3. Setzen Sie alle Namen = Wert Paare auf einer Zeile, getrennt durch Semikolons.

Dies gibt Ihnen die volle Verbindungszeichenfolge. In diesem Beispiel wird die Zeichenfolge:

 DRIVER={Microsoft Access Driver (*.mdb)};UID=admin;UserCommitSync=Yes;Threads=3;SafeTransactions=0;PageTimeout=5;axScanRows=8;MaxBufferSize=2048;FIL={MS Access};DriverId=25;DefaultDir=C:\;DBQ=C:\db1.mdb 

2) 32/64 Bit-Mismatch Ich habe Probleme beim Mischen von 32-Bit-Python mit 64-Bit-Treiber oder umgekehrt. Vielleicht möchten Sie Ihren Python-Interpreter und den Datenbank-Treiber-Line überprüfen.

  • Installiere numpy.exe leise mit Batch-Datei in Windows
  • Wie fusionierst du zwei Verzeichnisse, oder verschief es mit Ersetzen, von der Windows-Befehlszeile ohne Kopieren?
  • Öffnen von Dateinamen mit Doppelpunkt (":") in Windows 7
  • Aufruf von FSCTL_CREATE_OR_GET_OBJECT_ID von Python
  • Running Python unter Windows für Node.js Abhängigkeiten
  • Wie kann ich explizit einen Pfad zu Firefox für Selen angeben?
  • Aktiver Fenster-Screenshot mit Python PIL und Windows API: Wie kann man mit abgerundeten Ecken umgehen?
  • Warum hat Selenium keine Session?
  • Python-Interpreter stürzt in Powershell ISE ab
  • Erstellen Sie NTFS-Junction-Punkt in Python
  • Was kann mein Gleitkomma-Steuerwort hinter meinem Rücken ändern?
  • Python ist die beste Programmiersprache der Welt.