Php Oracle连接:oci_connect():ORA-24315:非法属性类型错误

时间:2014-09-22 08:31:50

标签: php oracle

我正在尝试使用Windows中的php连接到Oracle数据库。

$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()函数 enter image description here

3 个答案:

答案 0 :(得分:3)

解决了这个问题。我试图在php.ini中只启用php_oci8_11g.dll。启用了php_oci8.dll扩展,一切正常。

答案 1 :(得分:0)

只需删除BLM=即可将描述仅作为连接标识符。如果您想在tnsnames.ora中引用别名(BLM)而不是完整描述,则需要前者。

$db = "(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = host)(PORT = 1521))
(CONNECT_DATA =
  (SERVER = DEDICATED)
  (SERVICE_NAME = blm)
)
)";

答案 2 :(得分:-1)

注意标记的扩展名的顺序:

您应该先拥有extension=php_oci8.dll,然后拥有extension=php_oci8_11g.dll