2016-03-21 4 views
0

Ich habe eine App, mit der der Benutzer zwischen einer MySQL oder MS SQL Verbindung wählen kann.ODBC-Fehler - Datenquellenname nicht gefunden und kein Standardtreiber angegeben

Ich stelle die Verbindungszeichenfolge wie folgt:

OdbcConnection SqlConn = new OdbcConnection(); 

connString = String.Format("Driver={{{0}}}; Server={1}; Port={2}; DataBase={3}; Uid={4}; Pwd={5};", protocol, hostname, port, database, user, password); 
SqlConn.ConnectionString = connString; 

Wenn jedoch zu open die Verbindung versucht, ich die folgende Fehlermeldung erhalten:

ERROR [IM002] [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified

Nun testete ich einen MySQLConnection statt und nahm unsere Driver Teil der Verbindungszeichenfolge und alles funktioniert gut. Ich bin mir sicher, dass es etwas mit der Driver zu tun hat, aber ich bin mir nicht sicher was. Die meisten Beispiele, die ich sehe, benutzen Driver={MySQL}, aber das hat nicht für mich funktioniert.

Hinweis: Nicht sicher, ob es wichtig ist, aber der Benutzer wird eine Optionsschaltfläche auswählen, um festzustellen, ob MySQL oder MS SQL verwendet wird.

+0

Können Sie einen DSN für SQL Server erstellen, der erfolgreich getestet wird? Wenn ja, muss nur eine funktionierende Verbindungszeichenfolge erstellt werden. – JLB

+0

Niemals zuvor einen DSN verwendet. Kein Profi bei SQL-Sachen, aber ich kann mich auch mit dem SQL Server verbinden, wenn ich die gleiche Grundeinstellung verwende. Ich möchte nur vermeiden, eine Menge von if-Anweisungen jedes Mal zu verwenden, wenn ich eine Verbindung zur DB herstelle, um Verbindungszeichenfolgen zu wechseln. – pfinferno

+1

Ich öffnete ODBC Data Source Administrator und habe 'MySQL ODBC 5.3 ANSI' und' Unicode' Treiber sowie 'SQL Native Client',' SQL Server', und 'SQL Server Native Client 10.0/11.0'. – pfinferno

Antwort

1

Die richtige Verbindungszeichenfolge hängt vom verwendeten Treiber ab. This site enthält eine vollständige Bibliothek mit Verbindungszeichenfolgen für verschiedene Datenbanken, Verbindungsmethoden und Treiberversionen.