Do You PHP?    
Search Engine Optimization  php5 powerd  Valid XHTML 1.0!  Valid CSS!  このサイトのはてなブックマーク数 



last updated
2002/01/20

counter hits
since 1999/11/06


Win32版PHP4をCGIとしてインストールするとORA-12154が発生する

現象 Win32版PHP4をCGIとしてインストールしOracleに接続しようとすると、Warning: ORA-12154: TNS: サービス名を解決できませんでした。が表示されてしまう
主な原因

以下の原因が考えられます。

  • PHP4のバグ?仕様?
対応策

以下の修正を行い、再度動作を確認してみてください。

  • 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版としてインストールした場合はこのエラーは発生しないようです。



About This Site |  Privacy Policy |  Contact
Copyright © 1999 - 2002 by Hideyuki SHIMOOKA all rights reserved.