Seite 1 von 2
Visual Studio C++ + Qt Plugin "Datenbank Error Connection"
Verfasst: 8. Januar 2015 11:26
von galilio
Ich arbeite in eine der projekte mit Datenbanken (Access Datenbank).
In dieses Datenbanken werden nur Messdaten geschrieben.
Bei mir auf meinen PC funktioniert alles einwandfrei.
wenn ich dieses projekte in eine andere PC teste dann bekomme ich keine Verbindung zu Datenbank "Seh bitte Anhang"
Wie gesagt auf meinen PC könnte ich immer testen und sobald ich in einem anderen PC ausprobiere bekomme ich die oben genannte Fehlermeldung.
Was für treiber kann es fehlen?
Auf der andere Maschiene ist auch die Office Paket installiert.
Gibt es einen QOBDC driver?
Danke in voraus
Re: Visual Studio C++ + Qt Plugin "Datenbank Error Connecti
Verfasst: 8. Januar 2015 17:31
von Christian81
Hast Du auch die SQL-Treiber neben den Qt-Dlls mitgeliefert? Wenn nein -> mitliefern, siehe Qt-Doku
Re: Visual Studio C++ + Qt Plugin "Datenbank Error Connecti
Verfasst: 9. Januar 2015 07:18
von galilio
du meinst die QT SQL4.Dll.
Ja die ist dabei .
Ist (SQL4.Dll) das einzige nötige DLL für Datenbankverbindung ?
Re: Visual Studio C++ + Qt Plugin "Datenbank Error Connecti
Verfasst: 9. Januar 2015 11:19
von MichaelS
galilio hat geschrieben:
Ist (SQL4.Dll) das einzige nötige DLL für Datenbankverbindung ?
Nö. Es wird auch noch der Treiber benötigt ( je nach verwendeter Datenbank libqsqlite.sll, libqsqlmysql.dll, libqsqlodbc.dll ... ).
Gruß Michael
Re: Visual Studio C++ + Qt Plugin "Datenbank Error Connecti
Verfasst: 9. Januar 2015 12:59
von galilio
Ich benutze aber Access Datenbank bzw. QODBC und ich habe folgende DLL file miteingepackt.
QSQL4.dll
QSQLODBC4.dLL
QSQLPSQL4.dll
QSQLLITE4.dll
Meine Meinung nach es sollte ausreichen.
Re: Visual Studio C++ + Qt Plugin "Datenbank Error Connecti
Verfasst: 9. Januar 2015 18:20
von Christian81
Die Pfade müssen aber auch stimmen ... ich habe nicht umsonst auf die Qt-Doku verwiesen. Aber hier der Link:
http://doc.qt.io/qt-5/windows-deploymen ... qt-plugins
Re: Visual Studio C++ + Qt Plugin "Datenbank Error Connecti
Verfasst: 12. Januar 2015 10:51
von galilio
@Christian81 : danke erst mal
Ehrlich gesagt weiss ich nicht genau was ich noch einstellen muss.
Alle nötige QT(DLL) liegen in gleichen ordner, wo der installer auch liegt.
Was mich iritiert, ist dass der Intsaller auf meinem PC einwandfrei lauft.
Wenn es Probleme gäbe, dann muss auch meinem PC nicht funktinieren.
Re: Visual Studio C++ + Qt Plugin "Datenbank Error Connecti
Verfasst: 12. Januar 2015 16:58
von MichaelS
galilio hat geschrieben:@Christian81 : danke erst mal
Ehrlich gesagt weiss ich nicht genau was ich noch einstellen muss.
Alle nötige QT(DLL) liegen in gleichen ordner, wo der installer auch liegt.
Dann ist zumindest der Pfad für das SQL-Treiber Plugin falsch. Siehe ( die von Christian verlinkte Doku):
each type of plugin must be located within a specific subdirectory (such as printsupport, imageformats or sqldrivers) within your distribution directory.
galilio hat geschrieben:Wenn es Probleme gäbe, dann muss auch meinem PC nicht funktinieren.
Nein, denn Deine installierte Entwicklungsumgebung setzt die Pfade korrekt. Auf anderen Rechnern ist das nicht der Fall und da funktioniert es dann eben nicht.
Re: Visual Studio C++ + Qt Plugin "Datenbank Error Connecti
Verfasst: 13. Januar 2015 07:26
von galilio
Okay Danke
Noch eine Frage: bei meine Anwendung benutze ich auch unterschiedliche QT DLL (QtSVG4.dll, QtOpenGL4.dll, QtNetwork4.dll, QtGui4.dll, QtCore4.dll) und ich gebe nirgendwo wo diese DLL sind.
So bald ich auf die Datenbanken verzichte kann ich meine (exe) auf beliebige PC installieren und es funktioniert.
Problem ist aufgetreten, als ich QtSql4.dll verwende.
Mir ist der zusammenhang nicht ganz klar (Sorry)
Re: Visual Studio C++ + Qt Plugin "Datenbank Error Connecti
Verfasst: 13. Januar 2015 20:45
von Christian81
Die SQL-Anbindungen sind, wie auch Bildformate etc. als Plugins angelegt. Liefert man sie nicht mit, funktioniert das entsprechende Feature nicht. Also wäre es sinnvoll das Datenbank-Plugin für die von dir verwendete Datenbank, auch mitzuliefern ...
Re: Visual Studio C++ + Qt Plugin "Datenbank Error Connecti
Verfasst: 14. Januar 2015 13:04
von galilio
Hallo alle zusammen:
Das Problem habe ich mehr oder weniger gelöst.
Meine Lösungsansatz () ist : wenn ich der Installer auf einen beliebige PC installieren dann muss ich die "Plugin in der richtige Path auch einrichte und dort die nötige SQL Treiber rüber kopieren". Das ist der aktuelle Stand.
Es ist leider keine richtige Ansatz aber es funktiniert für die Moment.
Ich weiss, dass man einen Qt config datei erstellen kann und dort die richtige Pfade eingeben.
Das Problem ist: Wenn ich meine Anwendung starte, werden schon die SQL Driver runtergeladen und das ist bevor es mir der main() Funktion gestartet hat.
Ich habe es direkt nach der main() Funktion einen Breakpunkt gesetzt und es ist schon zu sehen bei der Output, dass die nötige Plugin schon runtergeladen sind.
Meine Frage:
Wie kann ich wissen: wann es diesen Plugins aufgerufen werden?
Re: Visual Studio C++ + Qt Plugin "Datenbank Error Connecti
Verfasst: 15. Januar 2015 10:59
von MichaelS
galilio hat geschrieben:
Es ist leider keine richtige Ansatz aber es funktiniert für die Moment.
Was stört Dich daran?
Re: Visual Studio C++ + Qt Plugin "Datenbank Error Connecti
Verfasst: 15. Januar 2015 15:18
von galilio
Dass ich beim Jeden PC die Pfad des Plugin manuel einrichten muss.
Ich will alles in einem Ordner " wo der Installer ist".
Re: Visual Studio C++ + Qt Plugin "Datenbank Error Connecti
Verfasst: 16. Januar 2015 10:05
von MichaelS
galilio hat geschrieben:Dass ich beim Jeden PC die Pfad des Plugin manuel einrichten muss.
Ich will alles in einem Ordner " wo der Installer ist".
Warum musst Du das manuell einreichten? Womit installierst Du denn Dein Programm auf anderen Rechnern? Jeder vernünftige Installer sollte in der Lage sein, bei der Installation ein Unterverzeichnis anzulegen.
Re: Visual Studio C++ + Qt Plugin "Datenbank Error Connecti
Verfasst: 16. Januar 2015 17:39
von galilio
MichaelS hat geschrieben:
Warum musst Du das manuell einreichten?
Ja wo die Plugin " SQL.DLL" stehen, muss ich manuell einrichten sonst bekomme ich die "Datenbank Error Connection".
MichaelS hat geschrieben:
Womit installierst Du denn Dein Programm auf anderen Rechnern?
Jeder vernünftige Installer sollte in der Lage sein, bei der Installation ein Unterverzeichnis anzulegen.
Der Installer ist mit Visual Studio 2008 C++ erstellt.
Problem ist aufgetreten seit ich meine Anwendung mit Datenbank erweitert habe.
In der vorherige Version (Ohne Datenbank) hat stets alles gut funktioniert.
Ich musste nur die nötigen DLL bei der Herstellung des Installers dazu addieren sonst nichts.