Название: QT(любая версия) и Oracle
Отправлено: TukiNov от Октябрь 29, 2006, 02:07
Приветствую всех. Тут появилась необходимость написать прогу под линь, которая будет работать с дб ораклом(а именно на диплом :)). Вопрос : как собрать драйвер ? как указано в ассистенте не получается. Сам делаю так : скопировал инклуды оракла в папку qt/include -rw-r--r-- 1 root root 33230 2006-02-05 08:50 nzerror.h -rw-r--r-- 1 root root 85310 2006-02-05 08:50 nzt.h -rw-r--r-- 1 root root 11600 2006-02-05 08:50 occiAQ.h -rw-r--r-- 1 root root 38724 2006-02-05 08:50 occiCommon.h -rw-r--r-- 1 root root 73063 2006-02-05 08:50 occiControl.h -rw-r--r-- 1 root root 35218 2006-02-05 08:50 occiData.h -rw-r--r-- 1 root root 2115 2006-02-05 08:50 occi.h -rw-r--r-- 1 root root 29156 2006-02-05 08:50 occiObjects.h -rw-r--r-- 1 root root 7155 2006-02-05 08:50 oci1.h -rw-r--r-- 1 root root 10361 2006-02-05 08:50 oci8dp.h -rw-r--r-- 1 root root 410791 2006-02-05 08:50 ociap.h -rw-r--r-- 1 root root 6055 2006-02-05 08:50 ociapr.h -rw-r--r-- 1 root root 43225 2006-02-05 08:50 ocidef.h -rw-r--r-- 1 root root 4014 2006-02-05 08:50 ocidem.h -rw-r--r-- 1 root root 11331 2006-02-05 08:50 ocidfn.h -rw-r--r-- 1 root root 8954 2006-02-05 08:50 ociextp.h -rw-r--r-- 1 root root 150915 2006-02-05 08:50 oci.h -rw-r--r-- 1 root root 6638 2006-02-05 08:50 ocikpr.h -rw-r--r-- 1 root root 4351 2006-02-05 08:50 ocixmldb.h -rw-r--r-- 1 root root 19099 2006-02-05 08:50 odci.h -rw-r--r-- 1 root root 6605 2006-02-05 08:50 oratypes.h -rw-r--r-- 1 root root 15031 2006-02-05 08:50 orid.h -rw-r--r-- 1 root root 102726 2006-02-05 08:50 ori.h -rw-r--r-- 1 root root 157674 2006-02-05 08:50 orl.h -rw-r--r-- 1 root root 42626 2006-02-05 08:50 oro.h -rw-r--r-- 1 root root 116591 2006-02-05 08:50 ort.h -rw-r--r-- 1 root root 9520 2006-02-05 08:50 xa.h
скопировал lib в папку qt/lib lrwxrwxrwx 1 root root 17 2006-10-28 17:41 libclntsh.so -> libclntsh.so.10.1* -rwxr-xr-x 1 root root 18715358 2006-06-13 20:01 libclntsh.so.10.1* -rwxr-xr-x 1 root root 5623881 2006-02-05 08:50 libnnz10.so* lrwxrwxrwx 1 root root 15 2006-10-28 17:41 libocci.so -> libocci.so.10.1* -rwxr-xr-x 1 root root 1396604 2006-02-05 08:50 libocci.so.10.1* -rwxr-xr-x 1 root root 4279056 2006-06-13 20:01 libociicus.so* -rwxr-xr-x 1 root root 119871 2006-02-05 08:50 libocijdbc10.so*
делаю qmake -project && qmake oci.pro && make получаю tuki-tuki@linux:~> cd Program_files/qt/plugins/src/sqldrivers/oci/ tuki-tuki@linux:~/Program_files/qt/plugins/src/sqldrivers/oci> qmake -project tuki-tuki@linux:~/Program_files/qt/plugins/src/sqldrivers/oci> qmake oci.pro tuki-tuki@linux:~/Program_files/qt/plugins/src/sqldrivers/oci> make g++ -Wl,-rpath,/usr/lib/qt3/lib/ -o oci .obj/release-shared/qsql_oci.o -L/usr/lib/mysql/ -L/home/tuki-tuki/Program_files/qt/lib -L/usr/X11R6/lib -L/usr/X11R6/lib -lqt -lGLU -lGL -lXmu -lXrender -lXrandr -lXcursor -lXinerama -lXft -lfreetype -lfontconfig -lXext -lX11 -lm -lSM -lICE -ldl collect2: ld returned 1 exit status make: *** [oci] Ошибка 1 tuki-tuki@linux:~/Program_files/qt/plugins/src/sqldrivers/oci >
по ассистенту почти тоже самое : tuki-tuki@linux:~/Program_files/qt/plugins/src/sqldrivers/oci> cat run #!/bin/sh qmake -o Makefile "INCLUDEPATH+=-I/opt/oracle/instantclient_10_2/sdk/include" "LIBS+=-L/opt/oracle/lib -lclntsh" oci.pro tuki-tuki@linux:~/Program_files/qt/plugins/src/sqldrivers/oci> sh run tuki-tuki@linux:~/Program_files/qt/plugins/src/sqldrivers/oci> make g++ -Wl,-rpath,/usr/lib/qt3/lib/ -o oci .obj/release-shared/qsql_oci.o -L/usr/lib/mysql/ -L/home/tuki-tuki/Program_files/qt/lib -L/usr/X11R6/lib -L/usr/X11R6/lib -L/opt/oracle/lib -lclntsh -lqt -lGLU -lGL -lXmu -lXrender -lXrandr -lXcursor -lXinerama -lXft -lfreetype -lfontconfig -lXext -lX11 -lm -lSM -lICE -ldl collect2: ld returned 1 exit status make: *** [oci] Ошибка 1 tuki-tuki@linux:~/Program_files/qt/plugins/src/sqldrivers/oci>
Что делаю не так ? полностью оракл не ставил, нашел только этот пакет : oracle-instantclient-10.2.0.2-2.1.i586.rpm, может не он ?. Так же пробовал собрать его в винде, делал точно также, все инклуды принял bcb, только спросил про OCI.LIB добавлено спустя 8 часов 21 минуту: чуть подумав, и пошарив по инету, скачал оракл и вытащил от туда три папки, которые упоминаются в ассистенте, вот что получил : tuki-tuki@linux:~/Program_files/qt/plugins/src/sqldrivers/oci> make g++ -Wl,-rpath,/usr/lib/qt3/lib/ -o oci .obj/release-shared/qsql_oci.o -L/usr/lib/mysql/ -L/home/tuki-tuki/Program_files/qt/lib -L/usr/X11R6/lib -L/usr/X11R6/lib -L/home/tuki-tuki/oci/lib -lclntsh -lqt -lGLU -lGL -lXmu -lXrender -lXrandr -lXcursor -lXinerama -lXft -lfreetype -lfontconfig -lXext -lX11 -lm -lSM -lICE -ldl /usr/lib/gcc/i586-suse-linux/4.1.0/../../../crt1.o: In function `_start': init.c:(.text+0x18): undefined reference to `main' collect2: ld returned 1 exit status make: *** [oci] Ошибка 1 tuki-tuki@linux:~/Program_files/qt/plugins/src/sqldrivers/oci>
Название: QT(любая версия) и Oracle
Отправлено: Admin от Октябрь 29, 2006, 09:58
Когда я с ораклом возился что ставил 9i версию полную
По твоим логами не понятно где ошибка, надо указать gcc что бы выводил больше информации. Но ключи к сожалению не помню!
Название: QT(любая версия) и Oracle
Отправлено: TukiNov от Октябрь 29, 2006, 13:29
я вот не понимаю что такое ODBC. С помощью этого драйвера я смого приконектится к Ораклу 9i ? добавлено спустя 29 минут: Когда я с ораклом возился что ставил 9i версию полную
По твоим логами не понятно где ошибка, надо указать gcc что бы выводил больше информации. Но ключи к сожалению не помню! вот и последние строки лога : Получен сигнал SIGCHLD; 1 потомков с необработанными результатами. Подбираю удачно завершившегося потомка 0x08088710 PID 5221 Removing child 0x08088710 PID 5221 from chain. Целевой файл `.obj/release-shared/qsql_oci.o' успешно пересоздан. Обновление целей, от которых зависит целевой файл `oci', завершено. Необходимо пересобрать цель `oci'. g++ -Wl,-rpath,/usr/lib/qt3/lib/ -o oci .obj/release-shared/qsql_oci.o -L/usr/lib/mysql/ -L/home/tuki-tuki/Program_files/qt/lib -L/usr/X11R6/lib -L/usr/X11R6/lib -L/home/tuki-tuki/oci/lib -lclntsh -lc -lqt -lGLU -lGL -lXmu -lXrender -lXrandr -lXcursor -lXinerama -lXft -lfreetype -lfontconfig -lXext -lX11 -lm -lSM -lICE -ldl Помещение потомка 0x08088a88 (oci) PID 5225 в цепочку активных потомков. Незавершенный потомок 0x08088a88 (oci) PID 5225 collect2: ld returned 1 exit status Получен сигнал SIGCHLD; 1 потомков с необработанными результатами. Подбираю неудачно завершившегося потомка 0x08088a88 PID 5225 make: *** [oci] Ошибка 1 Removing child 0x08088a88 PID 5225 from chain. tuki-tuki@linux:~/Program_files/qt/plugins/src/sqldrivers/oci>
добавлено спустя 52 минуты: млин, чё то я теперь вообще ничего не понимаю. создал файл main.cpp с пустой int main(){}, компиляция завершилась. но вот он мне собрал исполняемый файл :(. Повторю вопрос : я вот не понимаю что такое ODBC. С помощью этого драйвера я смого приконектится к Ораклу 9i ?
Название: QT(любая версия) и Oracle
Отправлено: Steven_Orko от Октябрь 29, 2006, 13:44
Повторю вопрос : я вот не понимаю что такое ODBC. С помощью этого драйвера я смого приконектится к Ораклу 9i ?
А поиском по вебу ВАМ РЕЛИГИЯ НЕ ПОЗВОЛЯЕТ пользоваться??? Эта тема на просторах сети обсуждалась несколько тысяч раз, если не больше. В каждой книжке по базам данных имеется ответ на этот вопрос. К тому же ВАШ вопрос ЯВНО НЕ ИМЕЕТ отношения к Qt. Так позвольте узнать ваши мотивации?
Название: QT(любая версия) и Oracle
Отправлено: TukiNov от Октябрь 29, 2006, 14:30
Повторю вопрос : я вот не понимаю что такое ODBC. С помощью этого драйвера я смого приконектится к Ораклу 9i ?
А поиском по вебу ВАМ РЕЛИГИЯ НЕ ПОЗВОЛЯЕТ пользоваться??? Эта тема на просторах сети обсуждалась несколько тысяч раз, если не больше. В каждой книжке по базам данных имеется ответ на этот вопрос. К тому же ВАШ вопрос ЯВНО НЕ ИМЕЕТ отношения к Qt. Так позвольте узнать ваши мотивации? Чего ? я весь гугл перерыл, в отличие от многих я всегда сначало в инете ищу !. А то что прога пишется на Qt под оракл это не имеет отношения к Qt ????????. Из всего поста только к этим двум строчкам придрались ? я задал конкрентный вопрос : С помощью этого драйвера я смого приконектится к Ораклу 9i ? / Если нет ответа на него то лучше вообще ничего не писать.
Название: QT(любая версия) и Oracle
Отправлено: Steven_Orko от Октябрь 29, 2006, 16:52
Уважаемый!!! Правильно заданный вопрос - половина ответа!!! Пройдитесь по ссылке http://www.yandex.ru/yandsearch?text=ODBC+%F7%F2%EE+%F2%E0%EA%EE%E5%3F&stype=www
Ответ на Ваш вопрос: "С помощью этого драйвера я смогу приконектится к Ораклу 9i" - "Да, и не только к БД под Oracle, но и под другими СУБД." Это также демострирует эта ссылка http://www.yandex.ru/yandsearch?text=Oracle+9i+ODBC&stype=www
Название: QT(любая версия) и Oracle
Отправлено: TukiNov от Октябрь 30, 2006, 16:02
так. нарисовалась такая проблема : tuki-tuki@linux:~/Program_files/qt/plugins/src/sqldrivers/oci> make g++ -Wl,-rpath,/usr/lib/qt3/lib/ -o oci .obj/release-shared/qsql_oci.o -L/usr/lib/mysql/ -L/home/tuki-tuki/Program_files/qt/lib -L/usr/X11R6/lib -L/usr/X11R6/lib -L/home/tuki-tuki/oci/lib -lclntsh -lqt -lGLU -lGL -lXmu -lXrender -lXrandr -lXcursor -lXinerama -lXft -lfreetype -lfontconfig -lXext -lX11 -lm -lSM -lICE -ldl /usr/lib/gcc/i586-suse-linux/4.1.0/../../../crt1.o: In function `_start': init.c:(.text+0x18): undefined reference to `main' collect2: ld returned 1 exit status make: *** [oci] Ошибка 1 tuki-tuki@linux:~/Program_files/qt/plugins/src/sqldrivers/oci>
делаю так : qmake -project qmake -o Makefile "INCLUDEPATH+=-I/home/tuki-tuki/oci/public /home/tuki-tuki/oci/demo" "LIBS+=-L/home/tuki-tuki/oci/lib -lclntsh" oci.pro make Такая же ситуация выресовавается если я пытаюсь собрать таким способом mysql-плагин(хотя при начальной сборке плагин собрался на ура). Что я делаю не так ? вроде делаю всё как в ассистенте написано. добавлено спустя 32 минуты: тьфу, жестоко тупил :) в oci.pro, в TEMPLATE бло прописано app :) плагин собрался, терь вот что выдаёт : Conflict in /usr/lib/qt3/plugins/sqldrivers/liboci.so Plugin connot be quiried successfully!
добавлено спустя 33 минуты: да, вообще я то что нужно собрал ? :) добавлено спустя 14 часов 41 минуту: уф, я ещё больше тупил :) Просто пересобрал всю библиотеку Qt, и драйвер сам подхватился :) Всем спасибо за помощь :)
|