| Win32版PHP4をCGIとしてインストールしOracleに接続しようとすると、Warning: ORA-12154: TNS: サービス名を解決できませんでした。が表示されてしまう |
|
以下の原因が考えられます。
|
|
以下の修正を行い、再度動作を確認してみてください。
- tnsnames.oraとsqlnet.oraの改行コードを「CRLF」ではなく「LF」にする
|
|
調べてみると、海外のMLではPHP4が登場した直後(4.0.2の頃)から報告されていたようです(全バージョンではないですが)。現象を確認した環境は、Win2K Pro + Apache 1.3.14 + PHP 4.0.5/4.0.6 + Oracle 8.0.5 な環境です。なお、%ORACLE_HOME%\net80\admin直下のtnsnames.ora、sqlnet.oraのみに依存しているようで、%ORACLE_HOME%\network\adminの方は関係ないようです。ついでに片方だけのファイルがCRLFだった場合のエラーを見てみると、以下のようになりました。
- tnsnames.oraがCRLFの場合、「ORA-06401: NETCMN: ドライバの指定文字が無効です。」が発生
- sqlnet.oraがCRLFの場合、「ORA-12154: TNS: サービス名を解決できませんでした。」が発生
なお、DSO版としてインストールした場合はこのエラーは発生しないようです。
|
|