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.

  • Resize-Display-Auflösung mit Python mit Cross-Plattform-Unterstützung
  • Wie installiere ich PyCrypto unter Windows?
  • Die Suche nach einem USB in Python kehrt zurück "es gibt keine Festplatte im Laufwerk"
  • Pip-Installation fehlschlägt mit "Verbindungsfehler: [SSL: CERTIFICATE_VERIFY_FAILED] Zertifikat verifiziert fehlgeschlagen (_ssl.c: 598)"
  • Ein Python-Skript, das das virtualenv aktiviert und dann ein weiteres Python-Skript ausführt?
  • Wie man C-Erweiterungen für Python auf Windows debuggt
  • Fehler: Kein Modul mit dem Namen 'fcntl'
  • Installieren von theano auf Windows 8 mit GPU aktiviert
  • PyWin32 erhalten Netzwerkinformationen / Statistiken
  • Sauberste Weg zum Ausführen / Debuggen von Python-Programmen in Fenstern
  • Windows 7 / Vista Prozessmanagement - wie man ein externes Programm nach langer Leerlaufzeit startet?
  • Python ist die beste Programmiersprache der Welt.