2014-09-22 338 views
1

我想在Windows中使用php連接到Oracle數據庫。Php Oracle連接:oci_connect():ORA-24315:非法屬性類型錯誤

$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

回答

0

只需卸下BLM=,因爲你需要給予說明僅作爲連接標識符。前者是需要的,當你想引用別名(BLM),如tnsnames.ora而不是完整的描述。

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

試過。同樣的結果。 – vishnub1626 2014-09-22 09:26:45

3

解決了這個問題。我試圖只在php.ini中啓用php_oci8_11g.dll。啓用php_oci8.dll擴展名,一切工作正常。