Skip navigation.
Home

Прошу помощи зала

Коллеги, понимаю, что неспортивно, но убил пол-дня, не сумев решить проблему:

Дальше интересно только тем, кто в курсе за Qt и Oracle.

На линуксовском сервере установлен Oracle 11gб там же установлена Qt самой наираспоследней версии. Система - 32-х битная.

Вот чего хочется:

QSqlDatabase db;
db = QSqlDatabase::addDatabase( "QOCI", "main");

Вот что получаем при запуске:

QSqlDatabase: QOCI driver not loaded
QSqlDatabase: available drivers: QSQLITE QPSQL7 QPSQL

Вот что сбилдил, почитав этот мануал.

Положил получившийся libqsqloci.so во все возможные каталоги.

Вот что выдает ldd libqsqloci.so:

linux-gate.so.1 => (0x002c1000)
libclntsh.so.11.1 => /u01/app/oracle/product/11.2.0/lib/libclntsh.so.11.1 (0xb5b66000)
libQtSql.so.4 => /home/alex/QtSDK/Desktop/Qt/4.8.1/gcc/lib/libQtSql.so.4 (0x00366000)
libQtCore.so.4 => /home/alex/QtSDK/Desktop/Qt/4.8.1/gcc/lib/libQtCore.so.4 (0x00481000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00c08000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00d40000)
libm.so.6 => /lib/libm.so.6 (0x00a1a000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00110000)
libc.so.6 => /lib/libc.so.6 (0x007de000)
libnnz11.so => /u01/app/oracle/product/11.2.0/lib/libnnz11.so (0xb58fd000)
libdl.so.2 => /lib/libdl.so.2 (0x00c5b000)
libnsl.so.1 => /lib/libnsl.so.1 (0x00aa0000)
libaio.so.1 => /lib/libaio.so.1 (0x00bce000)
libz.so.1 => /lib/libz.so.1 (0x00a6f000)
libgthread-2.0.so.0 => /lib/libgthread-2.0.so.0 (0x0021f000)
librt.so.1 => /lib/librt.so.1 (0x00f4c000)
libglib-2.0.so.0 => /lib/libglib-2.0.so.0 (0xb57ee000)
/lib/ld-linux.so.2 (0x00462000)

Тем не менее проблема не решается, при запуске приложения драйвер система упорно не видит.

Да, если это важно, то в bash_profile (и в .bashrc) стоит это:

export LD_LIBRARY_PATH=/usr/lib/qt4/plugins/sqldrivers/

Вот это:

/etc/ld.so.conf.d/

тоже настроил:

/u01/app/oracle/product/11.2.0/lib/
/home/alex/QtSDK/QtCreator/lib/qtcreator/plugins
/usr/lib/qt4/plugins/sqldrivers

Куда ЕЩЕ смотреть???

Спасибо.

Апдейт: Спасибо всем, я решил проблему.