Михаиллл
МихаилллDec. 9, 2018, 8:25 a.m.

Как в QT подключить PostgreSQL

Qt, PostgreSQL

Здравствуйте.
Пытаюсь подключить PostgreSQL 9,6. Разрядность скорей всего 32.
Компилятор MinGW32.
В pro файле дописал
INCLUDEPATH += C:/Program Files (x86)/PostgreSQL/9.6/include
LIBS+= C:/Program Files (x86)/PostgreSQL/9.6/lib/libpq.dll
В проекте срр написал
QSqlDatabase SearchDB = QSqlDatabase::addDatabase("QPSQL");
При работе выдает ошибку:
QSqlDatabase: QPSQL driver not loaded
QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QODBC QODBC3 QPSQL QPSQL7
Скажите пожалуйста как правильно подключить PostgreSQL 9,6?

We recommend hosting TIMEWEB
We recommend hosting TIMEWEB
Stable hosting, on which the social network EVILEG is located. For projects on Django we recommend VDS hosting.

Do you like it? Share on social networks!

8
Evgenii Legotckoi
  • Dec. 9, 2018, 10:14 a.m.

Непонятно, вы драйвер скачали или собирали?

Сдаётся мне, что возможно более правильный вариант собрать своим компилятором вначале его, а потом уже подключать.

    Михаиллл
    • Dec. 10, 2018, 6:59 a.m.

    оказывается новый драйвер не нужен, так работает:
    https://forum.qt.io/topic/81148/cannot-install-postgresql-driver/8

      Михаиллл
      • Dec. 10, 2018, 7:29 a.m.

      С драйвером проблема решена.
      Но дальше пытаюсь подключиться к базе.
      На этом этапе

      QSqlDatabase SearchDB = QSqlDatabase::addDatabase("QPSQL");
          SearchDB.setDatabaseName("CVReader");
          SearchDB.setUserName("postgres");
          SearchDB.setHostName("localhost");
          SearchDB.setPassword("1qaz");
      if (!SearchDB.open()) {qDebug()<<"bd is open";} else {qDebug()<<"bd not open";}
      

      дебаг говорит что база открыта.
      Если дальше делать подключение к таблице

      QSqlTableModel *SearchTableModel = new QSqlTableModel(this);
          SearchTableModel ->setTable("ResumePostgresSQL");
      SearchTableModel->setHeaderData(1,Qt::Horizontal, "Название столбца");
       SearchTableModel->select(); 
      

      то выдает ошибку:
      QSqlDatabasePrivate::database: unable to open database: "could not connect to server: Connection refused (0x0000274D/10061)\n\tIs the server running on host \"localhost\" (::1) and accepting\n\tTCP/IP connections on port 5432?\ncould not connect to server: Connection refused (0x0000274D/10061)\n\tIs the server running on host \"localhost\" (127.0.0.1) and accepting\n\tTCP/IP connections on port 5432?\nQPSQL: Unable to connect"
      Скажите пожалуйста, как правильно подключить эту субд?

        Михаиллл
        • Dec. 10, 2018, 7:50 a.m.
        • (edited)

        извините ошибся, на SearchDB.open() база не открывается.
        может быть setHostName нужен другой?

          Evgenii Legotckoi
          • Dec. 10, 2018, 7:51 a.m.

          Насколько помню, там нужно ещё порты укзаывать, если подключение идёт к сетевой базе данных и вместо localhost нужно указать ip адрес, в вашем случае "127.0.0.1"

            Evgenii Legotckoi
            • Dec. 10, 2018, 7:56 a.m.

            так вроде бы

            SearchDB.setHostName( "192.168.0.1" );
            SearchDB.setPort( 5432 );
            
              Михаиллл
              • Dec. 10, 2018, 8:03 a.m.

              Спасибо.
              Дописал так и база открылась

                  SearchDB.setHostName("127.0.0.1");
                  SearchDB.setPort(5434);
              

              Но QSqlTableModel не отображает запрашиваемую таблицу.

                Evgenii Legotckoi
                • Dec. 10, 2018, 8:10 a.m.

                Это уже другой, отдельный вопрос )))

                Скорее всего неправильно объявлено что-то в таблице, либо она не создана, либо неправильно читается. Смотрите вывод ошибок

                  Comments

                  Only authorized users can post comments.
                  Please, Log in or Sign up
                  AD

                  C ++ - Test 004. Pointers, Arrays and Loops

                  • Result:50points,
                  • Rating points-4
                  m

                  C ++ - Test 004. Pointers, Arrays and Loops

                  • Result:80points,
                  • Rating points4
                  m

                  C ++ - Test 004. Pointers, Arrays and Loops

                  • Result:20points,
                  • Rating points-10
                  Last comments
                  i
                  innorwallNov. 15, 2024, 5:44 a.m.
                  Qt/C++ - Lesson 039. How to paint stroke in QSqlTableModel by value in the column? Many OPKs would advise users to start using the test strips around day 9 of your cycle, considering day 1 to be the first day of full menstrual flow buy priligy australia
                  i
                  innorwallNov. 15, 2024, 2:27 a.m.
                  Release of C++/Qt and QML application deployment utility CQtDeployer v1.4.0 (Binary Box) optionally substituted alkoxy, optionally substituted alkenyloxy, optionally substituted alkynyloxy, optionally substituted aryloxy, OCH, OC H, OC H, OC H, OC H, OC H, OC H, O C CH, OCH CH OH, O…
                  i
                  innorwallNov. 14, 2024, 9:26 p.m.
                  Qt/C++ - Lesson 031. QCustomPlot – The build of charts with time buy generic priligy We can just chat, and we will not lose too much time anyway
                  i
                  innorwallNov. 14, 2024, 7:03 p.m.
                  Qt/C++ - Lesson 060. Configuring the appearance of the application in runtime I didnt have an issue work colors priligy dapoxetine 60mg revia cost uk August 3, 2022 Reply
                  i
                  innorwallNov. 14, 2024, 12:07 p.m.
                  Circuit switching and packet data transmission networks Angioedema 1 priligy dapoxetine
                  Now discuss on the forum
                  t
                  tonypeachey1Nov. 15, 2024, 6:04 a.m.
                  google domain [url=https://google.com/]domain[/url] domain [http://www.example.com link title]
                  i
                  innorwallNov. 15, 2024, 5:50 a.m.
                  добавить qlineseries в функции priligy for sale Gently flush using an ear syringe
                  i
                  innorwallNov. 11, 2024, 10:55 a.m.
                  Всё ещё разбираюсь с кешем. priligy walgreens levitra dulcolax carbs The third ring was found to be made up of ultra relativistic electrons, which are also present in both the outer and inner rings
                  9
                  9AnonimOct. 25, 2024, 9:10 a.m.
                  Машина тьюринга // Начальное состояние 0 0, ,<,1 // Переход в состояние 1 при пустом символе 0,0,>,0 // Остаемся в состоянии 0, двигаясь вправо при встрече 0 0,1,>…

                  Follow us in social networks