PHP Oracle: oci_connect не показывает ошибку

0

Ошибка в строке oci_connect. Но моя проблема в том, что ошибка не отображается на странице. Даже если я ставлю $e = oci_error(); он больше не будет выполнен, чтобы показать ошибку. Я попробовал try/catch, но он тоже не работал.

Когда я изменяю детали соединения для подключения к другой базе данных, он работает. Детали подключения, которые я использую, работают в SQL Developer.

$db='(DESCRIPTION =
(ADDRESS_LIST =
  (ADDRESS = (PROTOCOL = TCP)(HOST = '. $GLOBALS['HOST']. ')(PORT = '. $GLOBALS['PORT'] .'))
)
(CONNECT_DATA =
  (SID = '. $GLOBALS['SID'] . ')
)
)';
echo '<br>USERNAME: *'. $GLOBALS['USERNAME'] .'*';
echo '<br>PASSWORD: *'. $GLOBALS['PASSWORD'] .'*';
echo '<br>2 db: *'. $db .'*';
$conn = oci_connect($GLOBALS['USERNAME'], $GLOBALS['PASSWORD'], "$db");
echo 'success';
die;
Теги:
error-handling
oci

1 ответ

0

На самом деле нет ошибок при попытке изменить параметр файла PHP.ini, чтобы показать все ошибки, затем я обновил версию Oracle Instant Client.

Сначала я проверяю, какую версию Oracle я использую:

select * from v$version
where banner like 'Oracle%';

Вывод:

Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production

После этого я загрузил новую версию Oracle Instant Client версии 11.2.0.3.0 и установил ее на PATH и перезапустил сервер. Тогда это сработало!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню