Здравствуйте, гость ( Вход | Регистрация )
Дата поста: | В теме: | За сообщение: | Спасибо сказали: | ||
---|---|---|---|---|---|
26.11.2009, 18:10 | [РЕШЕНО] Драйвер Oracle-OCI для Qt (Linux Kubuntu 9.10) | Oleg S. Plesser, можешь теперь по шагам описать, в стиле " делаем раз, делаем два,..."? Чтобы тему закрыть обязательно распишу у меня в планах сие значится ![]() завтра сделаю!!! Дано: Kubuntu 9.10 (версия kubuntu в данном случае не принципиально) с установленным комплектом разработчика по Qt и Oracle Express Edition из репозитариев. Задача: установить соединение из Qt программы с базой данных. Решение По какой то причине в репозитарии нету скомпилированного драйвера под Oracle, но исходники самого sql драйвера доступны в исходниках Qt. Для начала нам необходимо скачать Instant Client Oracle http://www.oracle.com/technology/software/.../linuxsoft.html Обратите внимание что если у вас стоит Oracle Express Edition то вам необходимы файлы из ветки 10.2 Скачиваете архив разархивруете его и идете по следующему пути(адресу) /home/swift/Tmp/instantclient_10_2/sdk Вас интересует содержимое директории include с правами root создаете директорию /usr/include/oracle/10.2 и копируете в нее содержимое сей папки Далее идем на сайт http://qt.nokia.com/downloads/linux-x11-cpp И качаем оттуда исходники Qt. (В репозитарии Kubuntu доступна версия Qt 4.5.2, на сайте по умолчанию предлагается скачать 4.5.3, что впринципе не принципиально, если Вы хотите скачать исходники именно Qt 4.5.2 просто в ссылке меняете одну циферку и тем же wget спокойно ее качаете) В моем случае я скачал ее по адресу /home/swift/Tmp разархивруем архив и идем по следующему пути(адресу) /home/swift/Tmp/qt-x11-opensource-src-4.5.2/src/plugins/sqldrivers/oci Там должно быть три файла README main.cpp oci.pro Там выполняем следующующую команду qmake "INCLUDEPATH+=/usr/include/oracle/10.2/" "LIBS+=-L//usr/lib/oracle/xe/app/oracle/product/10.2.0/server/lib/ -Wl,-rpath,/usr/lib/oracle/xe/app/oracle/product/10.2.0/server/lib/ -lclntsh -lnnz10" oci.pro Обратите внимание на пути, они должны соотвествовать пути где у вас установлен Oracle XE Выполняем команду и получаем файл Makefile Заходим в него и находим строчку которая начинается с INCPATH Наша задача указать что лежат заголовочные файлы входящие в исходники. В моем случае это вылилось в добавление туда следующей строки -I/home/swift/Tmp/qt-x11-opensource-src-4.5.2/include Сохраняем файл и запускаем сначало make затем make install (эту команду необходимо запускать с правами root) Затем необходимо переписать hash динамических библиотек. Это делается с помощью команды ldconfig. Ну и теперь тестируем саму программу #include <QtGui> #include <QtSql> int main(int argc, char **argv) { QApplication a(argc,argv); QMainWindow mainwin; .... QSqlDatabase db; db.addDatabase("QOCI"); db.setDatabaseName("XE"); db.setUserName("system"); db.setPassword("secret_word"); .............. mainwin.show(); return a.exec(); } программа компилится стандартно qmake -project qmake make |
AD, Litkevich Yuriy, tmp13, tp4, | ||
![]() |
Текстовая версия | Сейчас: 18.2.2025, 2:49 |