QtSql: Nach Kopieren auf Zielrechner keine Driver gefunden

Alles rund um die Programmierung mit Qt
Antworten
gerome69
Beiträge: 188
Registriert: 28. April 2006 22:50
Wohnort: Berlin
Kontaktdaten:

QtSql: Nach Kopieren auf Zielrechner keine Driver gefunden

Beitrag von gerome69 »

Hallo zusammen,
ich habe ein Programm geschrieben, daß u.a. Daten von einem MySQL-Server holt.
Auf dem Rechner auf dem ich es kompiliert habe, läuft es auch einwandfrei.

Code: Alles auswählen

dbConn=QSqlDatabase::addDatabase("QODBC");
dbConn.setDatabaseName("DRIVER={SQL Server};SERVER=XXXX;DATABASE=XXX;");
dbConn.setUserName("XXX");
dbConn.setPassword("XXX");
if (!dbConn.open()) throw QString("Database error: " + dbConn.lastError().text());
Wenn ich es aber auf einen Fremdrechner kopiere, kommt als Fehler:
"QODBC driver not loaded.
Available drivers: "
Sprich: keine.

Was ich dort mit ins gleiche Verzeichnis kopiert habe sind inzwischen alle dll's aus dem QTDIR\bin, dann aus "qsqlodbc.dll" aus dem plugins\sqldrivers und schließlich habe ich nochmal testweise den ganzen "plugins"-Ordner rüberkopiert.
Sicher viel zu viel, aber es geht immer noch nicht. Es werden keine Treiber gefunden.

Was fehlt mir denn da noch?

Danke für Tips, Bernd
abelmi
Beiträge: 16
Registriert: 19. Februar 2007 14:56

Beitrag von abelmi »

Probiere mal die plugins nicht unter \plugins\sqldrivers, sondern direkt unter \sqldrivers relativ zu deiner Anwendung zu kopieren.

Mit QCoreApplication::setLibraryPaths() kannst du den Pfad setzen, wenn dieser abweicht. Mit QCoreApplication::applicationDirPath() kannst du dir den aktuellen Pfad deiner Anwendung geben lassen.
gerome69
Beiträge: 188
Registriert: 28. April 2006 22:50
Wohnort: Berlin
Kontaktdaten:

Beitrag von gerome69 »

abelmi hat geschrieben:Probiere mal die plugins nicht unter \plugins\sqldrivers, sondern direkt unter \sqldrivers relativ zu deiner Anwendung zu kopieren.
Danke, das war's. Da soll mal einer drauf kommen. Stand in der Doku nicht oder ich hab's überlesen.

Gruß, Bernd
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Beitrag von Christian81 »

gerome69 hat geschrieben: Danke, das war's. Da soll mal einer drauf kommen. Stand in der Doku nicht oder ich hab's überlesen.
Überlesen (wobei es wirklich versteckt steht)
But where is the plugins directory? When the application is run, Qt will first treat the application's executable directory as the pluginsbase. For example if the application is in C:\Program Files\MyApp and has a style plugin, Qt will look in C:\Program Files\MyApp\styles
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
Antworten