Подключитесь к базе данных Oracle 12c с помощью роли SYSDBA из программы на C ++, используя библиотеку Qt [duplicate]

Вам нужно добавить position: absolute; в свой CSS. left используется для абсолютного позиционирования.

В вашем случае:

#inner {
   width: 400px;
   height: 300px;
   background-color: #090;
   position: absolute;
   left: 50%;
}
0
задан Member2017 20 September 2017 в 16:01
поделиться

3 ответа

Хорошо. Я нашел решение.

Документация говорит

set INCLUDE =% INCLUDE%; c: \ oracle \ oci \ include

set LIB =% LIB %; c: \ oracle \ oci \ lib \ msvc

cd% QTDIR% \ src \ plugins \ sqldrivers \ oci

qmake oci.pro

nmake

Если вы не используете компилятор Microsoft, замените nmake на make в строке выше.

, но make или nmake не работают для меня. Потому что я не установил Microsoft Visual c ++ на свою машину.

Я сделал инструкцию, как это сделать:

  1. Сначала не забудьте для установки источников qt. Во время установки установите флажок «Источники».
  2. затем загрузите и установите клиент oracle win32_11gR2_client.zip . выберите вариант Runtime во время установки (даже если вы используете 64-разрядную версию 32-разрядной версии для 32-разрядной версии для клиента oracle). Он создает каталог c: \ app \ user \ product \ client_1 ... directory
  3. , затем откройте командную строку qt minGW (start -> all peograms -> qt [версия] -> [версия] -> MinGW [ версия] -> Qt [версия] для Desktop MinGW [версия]) и перейдите в исходную папку oci:

cd C: \ Qt \ Qt [версия] \ [версия ] \ Src \ qtbase \ src \ plugins \ sqldrivers \ oci

  1. , тогда в документации говорится, что путь и библиотека OCI (Oracle call interface):

set INCLUDE =% INCLUDE%; c: \ app \ user \ product [version] \ client_1 \ oci \ include

set LIB =% LIB%; c: \ app \ user \ product [version] \ client_1 \ oci \ lib \ msvc

5.compile oci драйвер, выполнив следующие две строки:

qmake oci.pro

mingw32-make

он создаст для вас файл .dll qsqloci.dll (версия выпуска) и qsqlocid.dll (версия отладки)

  1. Последний шаг - скопировать эти два файла в папку установки qtcreator. перейдите к:

C: \ Qt \ Qt [версия] \ [версия] \ Src \ qtbase \ plugins \ sqldrivers

и скопируйте эти файлы в:

C: \ Qt \ Qt [версия] \ [версия] \ mingw [версия] \ plugins \ sqldrivers

и вы готовы к работе. для проверки соединения попробуйте этот код:

#include <QCoreApplication>
#include <QtSql>
#include <QDebug>

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    QSqlDatabase db = QSqlDatabase::addDatabase("QOCI");
    db.setHostName("MY_IP_OR_HOST_NAME");
    db.setDatabaseName("XE");
    db.setUserName("test");
    db.setPassword("test_password");

    if (!db.open())
    {
        qDebug() << db.lastError().text();
    }
    else{
        qDebug() << "Wow opened";
    }

    return a.exec();
}
3
ответ дан eyllanesc 16 August 2018 в 05:06
поделиться

Вы должны использовать QODBC вместо QOCI.

1
ответ дан Micha Wiedenmann 16 August 2018 в 05:06
поделиться

gogagubi ответ хороший, но шаг 4 не работает для меня, потому что set INCLUDE и LIB не работают для mingw32-make.

Ему нужно установить INCPATH и LIBS в oci.pro или используйте:

qmake "INCPAH +=c:\app\user\product[version]\client_1\oci\include 
       LIBS +=-Lc:\app\user\product[version]\client_1\oci\lib\msvc" oci.pro

Добавьте следующие строки в oci.pro:

INCPATH +=c:\app\user\product[version]\client_1\oci\include
LIBS+=-Lc:\app\user\product[version]\client_1\oci\lib\msvc
0
ответ дан perror 16 August 2018 в 05:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: