问题
I have some trouble when I want to add a database.
_dataBase = QSqlDatabase::addDatabase("QPSQL");
After calling this method I have an error:
QSqlDatabase: QPSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7
I include to PATH
variable paths to:
PostgreSQL\9.3\bin
PostgreSQL\9.3\lib
PostgreSQL\9.3\include
Also I copy folder sqldrivers
to Debug
folder. Also tried to copy dlls drom this folder to Debug
. Doesn't work either.
回答1:
I came here googling because I had the same problem in Windows.
In my case to solve the issue I had to install PostgreSQL for Windows 32 bits since my Qt target was MinGW 32 bits.
Additionally, I had to add the PATH
to the PostgreSQL bin and lib directories so Qt could find the right .dlls
.
@SET PATH=C:\Program Files (x86)\PostgreSQL\9.6\bin\;C:\Program Files (x86)\PostgreSQL\9.6\lib\;%PATH%
The PATH
can be set before launching Qt Creator or using the Qt Creator itself via the Build Environment
in the Projects
pane.
回答2:
Add the system variable QT_DEBUG_PLUGINS=1
if you want to get full information of why the QPSQL
driver has not been loaded.
Probably you will discover that Qt is not able to find it. Copy and paste the output here to know what exactly happens.
回答3:
Use depends.exe on qsqlpsql.dll
and found that this dll need libpq.dll
from PostgreSQL\9.3\lib
folder. Add libpq.dll
to Debug
folder and it works:)
回答4:
Try pip install PyQt5
event if you already installed it using conda or installer. It helped me.
来源:https://stackoverflow.com/questions/26507353/qpsql-driver-not-loaded-qt