oci_connect ERR_CONNECTION_RESET при использовании tnsnames

Я пытаюсь подключиться к базе данных оракула с помощью php. Когда я пытаюсь соединиться с помощью строки / дескриптора соединения, он соединяется просто отлично, но когда я пытаюсь соединиться, используя имя tns, все останавливается, и chrome показывает пустую страницу с ошибкой. ERR_CONNECTION_RESER, Я вижу ошибочный ответ, и это 0 байтов, без заголовка, без тела … ничего.

вот код:

<?php

error_reporting(E_ALL);

ini_set('display_errors', 'On');

$connStr = "Some connection <string> copied from tnsnames.ora";
//$connStr = "Some connection <name> copied from tnsnames.ora";

try
{
$conn = oci_connect('dev', '12345678', $connStr, 'utf8');
if (!$conn)
{
$err = oci_error();
var_dump($err);
}
oci_close($conn);
echo "Success";
}
catch(Exception $e)
{
$err = oci_error();
var_dump($err);
var_dump($e);
}

Я проверил, и мой php может видеть
ORACLE_HOME
TNS_ADMIN
и они указывают в правильном направлении.
я использую
Windows 7 amd64
PHP 5.6.13 TS VC11
Apache 2.4.16 VC14
Instant Client 12.1.0.2

0

Решение

После нескольких часов, проведенных и не спавших по этому вопросу, я нашел решение.

У меня есть файл sqlnet.ora, который определяет таймауты и другие свойства сети. Наши базы данных недавно присоединились к домену фирмы, и проблема была в этой строке:

предварительно

NAMES.DIRECTORY_PATH= (HOSTNAME, TNSNAMES, ONAMES, EZCONNECT, LDAP)
#########

Решение

NAMES.DIRECTORY_PATH= (HOSTNAME, TNSNAMES, ONAMES, EZCONNECT, LDAP)
NAMES.DEFAULT_DOMAIN = FIRM.DOMAIN
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]