Geben Sie einen Standardtreiber für ODBC an

8

Ich habe eine veraltete VB6-App, die einen DSN basierend auf einem Parameter in einer Konfigurationsdatei erstellt. Der Parameter ist eine ODBC-Verbindung und die Verbindung hat einen Namen (DSN-NAME), der einen Server (DBSERVER) einem Treiber zuordnet ("SQL Server Native Client").

Im Allgemeinen erstellt es einen DSN wie folgt:

  

DSN = DSN-NAME; Benutzer = foo; Kennwort = bar

Wenn ich einen Hostnamen in der Datei angabe, baut er eine Verbindungszeichenfolge auf, die

sagt
  

DSN = DBSERVER; Benutzer = foo; Kennwort = bar

Die gemeldete Fehlermeldung lautet:

  

[Microsoft] [ODBC-Treibermanager] Datenquellenname nicht gefunden und kein Standardtreiber angegeben

Dies deutet darauf hin, dass es vielleicht eine Möglichkeit gibt, einen Standardtreiber anzugeben, was bedeuten kann, dass ich nur den Servernamen in der Konfigurationsdatei angeben kann und nicht die ODBC-Verbindung erstellen muss.

(Ich bin mir bewusst, dass diese automatisch erstellt werden können; dies ist nur zur Installation und um meine Neugier zu befriedigen).

Wie spezifiziert man einen Standardtreiber? Wenn ich den Standardtreiber auf SQL Server Native Client setzen kann, kann ich dann DSN = DBSERVER sagen und verbinden?

Bearbeiten: Der Punkt bestand darin, dies zu versuchen, ohne die Verbindungszeichenfolge zu ändern. All die Forschungsergebnisse deuten darauf hin, dass dies nicht möglich ist, aber der Wortlaut des Dialogs deutet darauf hin, dass dies der Fall sein könnte.

    
crb 11.05.2009, 20:15
quelle

4 Antworten

3

Ich hatte das gleiche Problem und reparierte es, indem ich den 32-Bit-ODBC-Administrator verwendete, um einen 32-Bit-DSN anstelle des 64-Bit-Administrators zu erstellen, der nur 64-Bit-DSN erstellt, die nicht funktionieren / p>

Der 32-Bit-ODBC-Manager befindet sich unter C:\Windows\SysWOW64\odbcad32.exe

Siehe diesen Artikel " Datenquellenname nicht gefunden und kein Standardtreiber angegeben " auf Corey Gilmores Blog.

    
mark.murphy 19.11.2012 12:53
quelle
1

Um einen Standardtreiber anzugeben, verwenden Sie DRIVER = in der Verbindungszeichenfolge:

%Vor%

Der Treibername ist der Name, der im ODBC-Konfigurationstool der Systemsteuerung für jeden Treiber angezeigt wird. Beachten Sie, dass Sie die Informationen angeben müssen, die normalerweise vom DSN stammen würden, in diesem Fall den Datenbanknamen.

    
anon 11.05.2009 20:22
quelle
1

Sie können erreichen, was Sie wollen, indem Sie "; SERVER = dbserver" an Ihre Verbindungszeichenfolge anhängen.

In Ihrem DSN ist bereits ein Server angegeben, aber das Schlüsselwort SERVER in Ihrer Verbindungszeichenfolge überschreibt das.

Ссылка

    
Erik Erkelens 22.05.2009 19:17
quelle
0

Verwenden Sie eine DSN-lose Verbindungszeichenfolge ... es kann "on the fly" erstellt werden, um genau Ihren Anforderungen zu entsprechen .... kein lästiges Umgehen mit odbcad32.cpl oder reg / ini-Dateien zur Steuerung / Konfiguration einer benötigten dsn.

Siehe Ссылка

für Details

    
CMB 12.07.2009 15:13
quelle

Tags und Links