Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Postgresql driver is not found
Forum Updated to NodeBB v4.3 + New Features

Postgresql driver is not found

Scheduled Pinned Locked Moved Unsolved General and Desktop
35 Posts 5 Posters 4.6k Views 1 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • SGaistS Offline
    SGaistS Offline
    SGaist
    Lifetime Qt Champion
    wrote on last edited by
    #8

    Can you should the complete output of your application ?

    Interested in AI ? www.idiap.ch
    Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

    A 1 Reply Last reply
    0
    • SGaistS SGaist

      Can you should the complete output of your application ?

      A Offline
      A Offline
      alxdef
      wrote on last edited by
      #9

      @SGaist
      Here the part of application output about DLL load failure:

      Got keys from plugin meta data ("QPSQL7", "QPSQL")
      QFactoryLoader :: QFactoryLoader () checking directory path "…/ build-MCS-Desktop_Qt_5_15_2_MinGW_64_bit-Debug / Shell / debug / sqldrivers" …
      Cannot load library C: \ Qt \ 5.15.2 \ mingw81_64 \ plugins \ sqldrivers \ qsqlpsql.dll: The specified module could not be found.
      QLibraryPrivate :: loadPlugin failed on "C:/Qt/5.15.2/mingw81_64/plugins/sqldrivers/qsqlpsql.dll": "Cannot load library C: \\ Qt \\ 5.15.2 \\ mingw81_64 \\ plugins \\ sqldrivers \\ qsqlpsql.dll: The specified module could not be found. "
      QSqlDatabase: QPSQL driver not loaded
      QSqlDatabase: available drivers: QSQLITE QODBC QODBC3 QPSQL QPSQL7
      

      Tell me what additional information is needed?

      1 Reply Last reply
      0
      • SGaistS Offline
        SGaistS Offline
        SGaist
        Lifetime Qt Champion
        wrote on last edited by
        #10

        Just remembered something, check that you have also copied the dependencies of the PostgreSQL .dll.

        Interested in AI ? www.idiap.ch
        Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

        A 1 Reply Last reply
        0
        • SGaistS SGaist

          Just remembered something, check that you have also copied the dependencies of the PostgreSQL .dll.

          A Offline
          A Offline
          alxdef
          wrote on last edited by
          #11

          @SGaist
          Am I on the right way? Which of them should be added in project executable folder?
          0a0a354b-bca6-4f8a-9853-925170780b62-изображение.png

          1 Reply Last reply
          0
          • SGaistS Offline
            SGaistS Offline
            SGaist
            Lifetime Qt Champion
            wrote on last edited by
            #12

            The OpenSSL related

            Interested in AI ? www.idiap.ch
            Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

            A 1 Reply Last reply
            0
            • SGaistS SGaist

              The OpenSSL related

              A Offline
              A Offline
              alxdef
              wrote on last edited by
              #13

              @SGaist said in Postgresql driver is not found:

              The OpenSSL related

              Not works.

              1 Reply Last reply
              0
              • SGaistS Offline
                SGaistS Offline
                SGaist
                Lifetime Qt Champion
                wrote on last edited by
                #14

                Then run Dependency Walker on these.
                The next likely candidate is the VC runtime dll.

                Interested in AI ? www.idiap.ch
                Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                A 1 Reply Last reply
                0
                • SGaistS SGaist

                  Then run Dependency Walker on these.
                  The next likely candidate is the VC runtime dll.

                  A Offline
                  A Offline
                  alxdef
                  wrote on last edited by
                  #15

                  @SGaist
                  8312aaa0-8559-414d-af11-2e88661267da-изображение.png
                  I think that library is not in business.

                  1 Reply Last reply
                  0
                  • SGaistS Offline
                    SGaistS Offline
                    SGaist
                    Lifetime Qt Champion
                    wrote on last edited by
                    #16

                    I meant that you should run Dependency Walker on the OpenSSL dlls and that it would have likely been the VC runtime missing.

                    Interested in AI ? www.idiap.ch
                    Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                    A 1 Reply Last reply
                    0
                    • SGaistS SGaist

                      I meant that you should run Dependency Walker on the OpenSSL dlls and that it would have likely been the VC runtime missing.

                      A Offline
                      A Offline
                      alxdef
                      wrote on last edited by
                      #17

                      @SGaist

                      1c6655d5-a634-4197-bd37-83ae354f1564-изображение.png

                      It looks like infinite loop…

                      1 Reply Last reply
                      0
                      • SGaistS Offline
                        SGaistS Offline
                        SGaist
                        Lifetime Qt Champion
                        wrote on last edited by SGaist
                        #18

                        Did you copy the VC runtime in the same folder as the OpenSSL library ?

                        Interested in AI ? www.idiap.ch
                        Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                        1 Reply Last reply
                        0
                        • A alxdef

                          @JonB

                          Here DW output:
                          523d9a1d-5b18-4de3-a968-ce6003d55478-изображение.png
                          But DW fault with this:
                          f01e8bb5-f5ae-46e2-877c-35214a135f8b-изображение.png

                          1. I tried to add paths to Postgres "bin" and "lib" folders - no way.
                          2. Copy DLLs to different folders: "build", "plugins\build" and other variations - no luck.
                          3. I didn't build database libraries myself.
                          Christian EhrlicherC Offline
                          Christian EhrlicherC Offline
                          Christian Ehrlicher
                          Lifetime Qt Champion
                          wrote on last edited by
                          #19

                          @alxdef Your first screenshot tells you that libstdc++-6.dll is missing.

                          Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
                          Visit the Qt Academy at https://academy.qt.io/catalog

                          SGaistS A 2 Replies Last reply
                          1
                          • Christian EhrlicherC Christian Ehrlicher

                            @alxdef Your first screenshot tells you that libstdc++-6.dll is missing.

                            SGaistS Offline
                            SGaistS Offline
                            SGaist
                            Lifetime Qt Champion
                            wrote on last edited by
                            #20

                            @Christian-Ehrlicher said in Postgresql driver is not found:

                            @alxdef Your first screenshot tells you that libstdc++-6.dll is missing.

                            Arf ! I missed that one. Good catch :-)

                            Interested in AI ? www.idiap.ch
                            Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                            1 Reply Last reply
                            0
                            • Christian EhrlicherC Christian Ehrlicher

                              @alxdef Your first screenshot tells you that libstdc++-6.dll is missing.

                              A Offline
                              A Offline
                              alxdef
                              wrote on last edited by
                              #21

                              @Christian-Ehrlicher

                              These libs are present in my app executable folder:

                              sqldrivers\qsqlpsql.dll
                              platforms\qwindows.dll
                              vcruntime140.dll
                              Qt5Sql.dll
                              Qt5Core.dll
                              msvcrt.dll
                              libstdc++-6.dll
                              libssl-1_1-x64.dll
                              libpq.dll
                              libintl-8.dll
                              libcrypto-1_1-x64.dll
                              
                              1 Reply Last reply
                              0
                              • A Offline
                                A Offline
                                alxdef
                                wrote on last edited by
                                #22

                                So there are no ideas…

                                1 Reply Last reply
                                0
                                • B Offline
                                  B Offline
                                  Bonnie
                                  wrote on last edited by Bonnie
                                  #23

                                  Did you get libpq from the official site? I've just had a try.
                                  I think it is probably due to the file you were all ignoring: libintl-8.dll --> it depends on libiconv-2.dll, which you didn't copy.
                                  When you use Dependency Walker on libpq.dll, check all the yellow icons, not only in the upper part tree, but also in the lower part list (those are all the dlls recursively)...
                                  But there may also be some many "false alarms", especially those dlls needed by system dlls / vc runtimes (e.g.: api-ms-...), you'll need to distinguish them by yourself.
                                  I mainly check those start with "lib" (MinGW style) and "q" (Qt libs).
                                  Or you can manually expand all the tree items recursively, just skip when it is a system / vc runtime.

                                  A 1 Reply Last reply
                                  2
                                  • B Bonnie

                                    Did you get libpq from the official site? I've just had a try.
                                    I think it is probably due to the file you were all ignoring: libintl-8.dll --> it depends on libiconv-2.dll, which you didn't copy.
                                    When you use Dependency Walker on libpq.dll, check all the yellow icons, not only in the upper part tree, but also in the lower part list (those are all the dlls recursively)...
                                    But there may also be some many "false alarms", especially those dlls needed by system dlls / vc runtimes (e.g.: api-ms-...), you'll need to distinguish them by yourself.
                                    I mainly check those start with "lib" (MinGW style) and "q" (Qt libs).
                                    Or you can manually expand all the tree items recursively, just skip when it is a system / vc runtime.

                                    A Offline
                                    A Offline
                                    alxdef
                                    wrote on last edited by
                                    #24

                                    @Bonnie
                                    Thanks for advice. Now application debug output looks like this:

                                    Got keys from plugin meta data ("QPSQL7", "QPSQL")
                                    loaded library "…/debug/sqldrivers/qsqlpsql.dll"
                                    QFactoryLoader::QFactoryLoader() checking directory path "…/debug/accessible" ...
                                    QFactoryLoader::QFactoryLoader() checking directory path "…/debug/accessiblebridge" ...
                                    QLibraryPrivate::unload succeeded on "…/debug/sqldrivers/qsqlpsql.dll" 
                                    QLibraryPrivate::unload succeeded on "…/debug/platforms/qwindows.dll" 
                                    21:31:17: *.exe exited with code 0
                                    

                                    But I still catch "Driver not loaded" using this code:

                                    if (!this->app_conn.isValid())
                                    {
                                      //…
                                    }
                                    
                                    if (!this->app_conn.open())
                                    {
                                      //…
                                    }
                                    
                                    1 Reply Last reply
                                    0
                                    • SGaistS Offline
                                      SGaistS Offline
                                      SGaist
                                      Lifetime Qt Champion
                                      wrote on last edited by
                                      #25

                                      Can you show the code your are actually using to setup the database ?

                                      The output you show does not present any error quite the contrary.

                                      Interested in AI ? www.idiap.ch
                                      Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                                      A 1 Reply Last reply
                                      0
                                      • SGaistS SGaist

                                        Can you show the code your are actually using to setup the database ?

                                        The output you show does not present any error quite the contrary.

                                        A Offline
                                        A Offline
                                        alxdef
                                        wrote on last edited by
                                        #26

                                        @SGaist

                                        this->app_conn = QSqlDatabase();
                                        
                                          this->app_conn.addDatabase(this->db_type);
                                          this->app_conn.setDatabaseName(this->db_name);
                                          this->app_conn.setHostName(this->db_host);
                                          this->app_conn.setPort(this->db_port);
                                          this->app_conn.setUserName(this->user_name);
                                          this->app_conn.setPassword(this->user_password);
                                        

                                        this->db_type is "QPSQL".

                                        1 Reply Last reply
                                        0
                                        • SGaistS Offline
                                          SGaistS Offline
                                          SGaist
                                          Lifetime Qt Champion
                                          wrote on last edited by
                                          #27

                                          You are using QSqlDatabase in the wrong manner.

                                          addDatabase is a static member, you are manipulating an invalid object.

                                          As the QSqlDatabase warns about: do not store local variables of that type. The class already provides everything needed to handle the objects you create from it.

                                          Interested in AI ? www.idiap.ch
                                          Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

                                          A 1 Reply Last reply
                                          2

                                          • Login

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Categories
                                          • Recent
                                          • Tags
                                          • Popular
                                          • Users
                                          • Groups
                                          • Search
                                          • Get Qt Extensions
                                          • Unsolved