LINUX.ORG.RU

Помогите с ORACLE + PHP, пожалуйста !!!


0

0

Итак, есть удаленный Оракл-сервер (Oracle8i Enterprise Edition Release 8.1.6.0.0)

Есть клиент SQL*Plus: Release 8.0.5.0.0 под винду. Коннектится все чики.

Есть Slackware 8.0, на него ставлю Client + SQLPlus из дистриба Oracle8051EE_Intel.tgz.

Компилю Апач + ПХП4 + OCI8 support.

Пишу скрипт со строкой c1 = ocilogon($login,$pass,$db); Файлы tsnames.ora & sqlnet.ora скопировал с винды на линукс в каталог /opt/oracle/app/oracle/product/8.0.5/network/admin

Все вроде бы должно работать но в выводе видим:

Warning: _oci_open_server: ORA-12154: TNS:could not resolve service name in /usr/local/apache/htdocs/o1.php on line 5

В чем дело ? Кто-нибудь подскажите, где копать, пожалуйста.

anonymous

На _локальной_ машине,я справлялся с этой проблемой введением
в moyaprogramma.php переменных окружения т.е php-шный setenv для ORACLE_SID итп. (хотя хватает и ORACLE_SID)

для удаленной все работало и так....

1. сделай tnsping SERVICE который указываешь в moyaprogramma.php
2. если пинг проходит - используй имя сервиса из файла tnsnames.ora (на клиентской машине - т.е. где apache итп)
3. посмотри содержимое файла sqlnet.ora - возможно у тебя там стоит что-то лишнее... :)

оставь только строчку
TRACE_LEVEL_CLIENT = OFF

StarWoofy
()

Спасибо за ответ !

Машина удаленная, соответственно выполняю твои шаги 1, 2, 3: tnsping падает в сегфолт, tnsping0 работает успешно, пингует. Подчистил sqlnet.ora - коннект перестал выдавать первую ошибку, теперь выдает вот что:

Warning: _oci_open_server: ORA-06401: NETCMN: invalid driver designator in /usr/local/apache/htdocs/o1.php on line 5

anonymous
()

Для начала надо проверить (так на всякий случай) файлики которые ты скопировал с винды на предмет конца строки.

Кроме всего прочего проверить конектится sqlplus c Linux Потом прописать в httpd.conf ORACLE_HOME, LD_LIBRARY_PATH.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.