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
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.