我正在尝试使用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()函数
答案 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)