Solaris10 + Apache2 + PHP5.2 で ORA-12154エラー(解決!)

Solari10上で、PHP5をインストールしてOracle10g を利用できるようにした。

PHP でOracleのデータを表示しようとしたらエラーが発生した。

 

■ORA-12154エラー発生

ブラウザでアクセスするとエラーが表示された。

Warning:  oci_connect() [function.oci-connect]: ORA-12154: TNS:could not resolve the connect identifier specified in ...

 

■ORA-12154エラー対策

リスナーで、名前を解決できないようなので、tnsnames.oraと同様の内容をPHP内に記述した。

<html>
<head>
</head>

<body>
Oracle10g接続テスト

<?php
$db = "(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)
(HOST = 192.168.3.4)(PORT=1521)))
(CONNECT_DATA=(SERVER=DEDICATED)
(SERVICE_NAME=orcl)))";


$connection = oci_connect('HR', 'PASS', $db);
$sql = 'select * from employees';
$statement = oci_parse($connection, $sql);
oci_execute($statement);

while($record = oci_fetch_array($statement)) {
print $record['FIRST_NAME'] . "<br>¥n";
}

oci_free_statement($statement);
oci_close($connection);
?>

</body>
</html>

 

Oracle PHP トラブルシューティング FAQ  に書いてあることを地道に一個ずつチェックしてようやく解決しました。ありがとう〜!