Я пытаюсь подключиться к базе данных Oracle, используя php в Windows.
$db = "BLM = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = host)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = blm) ) )"; $conn = oci_connect('blmuser', 'blmuser', $db); if (!$conn) { $e = oci_error(); trigger_error(htmlentities($e['message'], ENT_QUOTES), E_USER_ERROR); }
Я получаю сообщение об ошибке oci_connect(): ORA-24315: illegal attribute type
Я попробовал установить клиентский путь, но безрезультатно.
phpinfo ()
Решила проблему. Я пытался использовать php_oci8_11g.dll только в php.ini. Включено расширение php_oci8.dll, и все работает нормально.
Просто удалите BLM=
поскольку вам нужно дать описание только как идентификатор соединения. Первый необходим, если вы хотите tnsnames.ora
псевдоним (BLM), как в tnsnames.ora
вместо полного описания.
$db = "(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = host)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = blm) ) )";