Как установить путь TNS_ADMIN для подключения к базе данных оракула? - PullRequest
0 голосов
/ 19 ноября 2018

Я использую Ubuntu PHP7 и Apache. при попытке подключиться к базе данных с помощью php-скрипта я получаю фатальную ошибку: фатальная ошибка: ORA-12154: TNS: не удалось разрешить указанный идентификатор подключения.

php скрипт:

<?php
//phpinfo(); exit;

$conn = oci_connect('system', 'oracle', 'oracledb/XE');
if (!$conn) {
    $e = oci_error();
    trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR);
} else echo 'succesful';

exit;

phpinfo показывает установленную библиотеку ocacle:

enter image description here Вот подробности об установке файлов oci8:

unzip /tmp/instantclient-basiclite-linux.x64-12.2.0.1.0.zip -d /usr/local/ 
unzip /tmp/instantclient-sdk-linux.x64-12.2.0.1.0.zip -d /usr/local/ 
unzip /tmp/instantclient-sqlplus-linux.x64-12.2.0.1.0.zip -d /usr/local/

ln -s /usr/local/instantclient_12_2 /usr/local/instantclient 
ln -s /usr/local/instantclient/libclntsh.so.12.1 /usr/local/instantclient/libclntsh.so 
ln -s /usr/local/instantclient/sqlplus /usr/bin/sqlplus
echo 'export LD_LIBRARY_PATH="/usr/local/instantclient"' >> /root/.bashrc

1 Ответ

0 голосов
/ 20 ноября 2018

Используйте полное имя хоста и имя домена, где у вас есть 'oracledb'.Или попробуйте IP-адрес, если ваш DNS-сервер не может разрешить имя хоста.Если вы используете PHP на той же машине, на которой установлен Oracle XE, используйте localhost, например, строка подключения будет localhost / XE.Обратите внимание, что вам не нужен Instant Client, если у вас установлен PHP на той же машине, что и база данных.

Для получения дополнительной информации см. http://www.oracle.com/technetwork/topics/php/underground-php-oracle-manual-098250.html

...