Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

Error de Conexion entre Qt y Postgres



  • Re: Conexion de postgresql con Qt

    Buenas tardes.

    Tengo este problema:
    QSqlDatabase: QPSQL driver not loaded
    QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7
    C:\Qt\Qt5.3.2\Examples\Qt-5.3\sql\build-sqlbrowser-Desktop_Qt_5_3_MinGW_32bit-Debug\debug\sqlbrowser.exe exited with code 0

    Seguí las instrucciones que me dijeron pero no los estoy pudiendo resolver. ¿Me podrían ayudar paso a paso?


  • Moderators

    Hola

    Lo más probable, ya que ese error realmente no te dice nada, es que el driver QPSQL no tenga acceso a algún archivo de PostgreSQL, La solución es copiar ese archivo a la carpeta de Qt, no sé si vale añadir la ruta de instalación de PostgreSQL al PATH del sistema, no uso windows y no lo he probado.

    En este hilo de este mismo foro tienes la solución (si el problema es el que menciono):
    https://forum.qt.io/topic/51719/conexion-de-postgresql-con-qt/3

    Un saludo



  • debe configurar el path donde esta instalado postgres, lo otro puedes usar dependency walker para ver que dll necesita.



  • hola amigo,pues te dire yop tube ese problema y la solucion es copiar estas librerias o dll's a donde tienes instalado el qt osea por ejemplo:
    C:\Qt\Qt5.10.1\5.10.1\mingw53_32\bin

    copia estas librerias de Posatgresql:

    libeay32.dll
    libiconv-2.dll
    libintl-8.dll
    libpq.dll
    ssleay32.dll
    estas librerías las podrás encontrar en esta dirección
    C:\Program Files (x86)\PostgreSQL\10\bin
    en mi caso es donde esta instalado el postgresql.

    Nota:

    si estas utilizando las ultimas versiones de postgre, o sea la 10 hasta la 9.4 si es que no me equivoco, entonces la dll, libiconv-2.dll tambien deberás de copiarla para que te funcione correctamente cualquier conexión, para versiones inferiores a esas solo deberas copiar 4 librerias de la lista menos la que te mencione, ahhhh me olvidaba en versiones anteriores la dll, libintl-8.dll, no tiene ese nombre la encontraras con el nombre de intl.dll, bueno espero te sirva, un saludo, suerte....


Log in to reply