• 締切済み
  • 暇なときにでも

PHPからODBCによるOracle10gへの接続

Windows2003Serverに展開しているPHPベースのページからODBCを経由して、Oracle10gへアクセスしようとすると以下のようなエラーが表示されてしまいます。 -------------------------------------------- Warning: odbc_connect(): SQL error: 指定されたドライバはシステム エラー 5 (Oracle in OraDb10g_home1) のため読み込めませんでした。, SQL state IM003 in SQLConnect in c:\php\pear\DB\odbc.php on line 129 データベースの接続に失敗しました。 -------------------------------------------- コントロールパネルのODBC設定でのテストはうまくいくんですが・・。 同様の環境で同様なトラブルの原因と対処策をご存じの方がいらっしゃったら、ご教授いただけないでしょうか?

共感・応援の気持ちを伝えよう!

  • 回答数1
  • 閲覧数1152
  • ありがとう数2

みんなの回答

  • 回答No.1

IM003は、ドライバの呼び出しに失敗した場合のエラーです。 デスクトップ上でテストに通過しても、IISやapache等のサービスプロセスから ODBCやオラクルクライアントが使える事にはなりません。 webサーバの実行ユーザを確認し、それに対してアクセス権があるかどうか、 環境変数PATHが適正か確認して下さい。

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ご指摘の通り、ドライバ呼び出しが原因だと認知はしているのですが、PHPに関する知識が乏しくて。 IISは匿名アクセスを許可してますし、PATHもきちんとセットされています。 ちなみにWindows2003+Oracle9iだと動作するのですが、Oracle10gの場合はOracle9iとは、PHPのコーディングで注意(修正)しなければならないということでしょうか。 謎が深まります。

関連するQ&A

  • oracle10gと9iの違いについて

    お世話様です。 最近、DBサーバをoracle9iからoracle10gに変えることになったのですが、 oracle9iで select LEVEL, 項目1, 項目2 FROM テーブル1 のSQLが動いていたのですが、 oracle10gでは、このSQLが動かなくなり、 connect by区を指定するようにエラーが出てくるようになってしまいました。 oracleのバージョンによって、動かなくなると言うことはあるのでしょうか? それともORACLEの設定を変更すると動くようになるのでしょうか。 ご教授よろしくお願い致します。

  • Oracle10g・・ODBCで接続できない

    Oracle10gのStandardEditionをサーバーにインストールし、データベースを作成しました。 それに対してクライアントにも10gをインストールし、ローカルメソッド名を設定して、接続テストも通りました。SQL*Plusを起動して接続することもできました。 ですが、Accessを使ってテーブルの中身を見ようと思い、ODBCを設定したのですが接続テストをすると固まってしまいます。どうすればODBCで接続できるようになるのでしょうか?

  • oracle 10gとphp5の接続

    oracle 10gとPHP5の接続が出来ません。。 192.168.1.12:1521に接続する場合、 oci_connect('hoge', 'hoge', 'scott/tiger@//192.168.1.24:1521'); これであってますでしょうか? 間違っている場合、ヒントお願い致しますm(_ _)m

  • AccessからOracleへのODBC接続

    現在、Oracleで作成したデータベースに接続して 検索するソフトを、Accessで作成してあります。 Oracleに接続をするのに、 ODBCを使用しているのですが、 最初依頼があったときは「Oracle8」のときだったので、 「Oracle8」のみ接続可能なプログラムが組んであり、 「Oracle10g」の入っているPCでは接続できないという問題が発生しました。 そこで、「Oracle8」と「Oracle10g」とも接続出来るように プログラムを書き換えたのですが、 現在は「Oracle11g」が最新になっていると思うので、 ゆくゆくはそれに対応しなければならないなあ、と思っています。 そうすると、Oracleがバージョンアップするたびに、 ソフトのプログラムを書き換えなくてはならなくなり、 効率的ではないな…と思いまして… Oracleのバージョンが違っていても、 自分のPCのOracleのバージョンを自動認識して、 AccessからOracleへ接続する方法はあるのでしょうか? ちなみに現在は、TableDefsコレクションを使用して、 まず、Oracle8で繋ぎにいき、それでエラーが起これば Oracle10gで繋ぎにいく、という処理を行っています。 【参考コード】 dim db as object dim tdf as object set db = CurrentDb set tdf = TableDefs("テーブル名") tdf.Connect = "(※テーブルのプロパティの説明のところに入る文)" tbf.RefreshLink (※ここが8と10gで違ってくる) よろしくお願いします。

  • PHP5とORACLE10の接続方法

    参考意見を頂ければと思い質問しました。 現在PHP5+ORACLE10gRelease2でDB接続をしようと思っています。 またORACLEを使用したことがなく調べている状況です。 Oracle8関数の使用やPEAR、PDOなど何種類かあるよう ですが、実際現時点でどういった接続方法が一般的なのでしょうか。 環境としてはLinuxでwebサーバ、DBサーバを分けて接続予定です。 アドバイス等ございましたらよろしくお願いします。

    • ベストアンサー
    • PHP
  • ネットワークドライブ経由でODBC

    WindowsXP、Apache2/2.0.55、PHP/5.0.5の環境で、ODBCを介してMicrosoft Access(*.mdb)にアクセスするphpを作ろうと思ってます。 データソースがローカルにあるときは上手くいくのですが、ネットワークドライブに割り当てられた共有にあるとウォーニングが出て、データベースに接続できません。 どうすれば接続できるでしょうか?参考にしたURLはhttp://www.phpfreaks.com/print.php?cmd=tutorial&tut_id=61です。 出たウォーニングは Warning: odbc_connect() [function.odbc-connect]: SQL error: [Microsoft][ODBC Microsoft Access Driver] パス '(不明)' は正しくありません。パス名に間違いがないことと、ファイルが置かれたサーバーに接続していることを確認してください。, SQL state S1009 in SQLConnect in C:\Program Files\Apache Group\Apache2\htdocs\odbc\odbc.php on line 2 Could Not Connect to ODBC Database! です。

  • Oracle10gExpressをインストールした後、Oracle8iの接続ができなくなった(ORA-12154)

    お世話になります。 Oracle8iクライアントがインストールされている環境に、 Oracle10gExpressをインストールしました。 Oracle8iでインストールした、SQL Plusからは問題なく接続できるのですが、 AccessにODBC接続させていた、Oracleへの接続がうまくいかなくなりました。 よくわかっていないのですが、 どうも、Oracle10gのtnsnamesを参照しにいっているような気がします。 でも、oracle8iのtnsnames.oraの内容をそのまま、 10gのtnsnames.oraにコピーしましたが、だめでした。 何かご存知の方アドバイスいただけないでしょうか? よろしくお願いいたします。 ●8iのtnsnames.oraでうまくいっていた内容を、10gにコピーした内容です。(内容は変更せずにそのままコピーしました) test.xxx.CO.JP = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.xxx.xxx)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME = test) ) )

  • PHP5+Oracle10gのconfigureについて

    Linuxで、configureをして、PHP5+Oracle10gをインストールしようと思っていますが、Webなどで検索して、 # export ORACLE_HOME=/home/oracle/product/10.2.0/db_1 # configure --with-oci8=$ORACLE_HOME ・・・・ というように、記述があったのですが、WebサーバとDBサーバを 分ける場合は、--with-oci8の記述は、どうすればよいのでしょうか?

    • 締切済み
    • PHP
  • Oracleに接続できません

    http://oshiete1.goo.ne.jp/qa4731410.htmlでの質問を踏まえた上で、悩んでおります。 PHPにてサーバにあるOracle9iサーバに、 クライアント(Oracle10gクライアントインストール済み)からPHPで接続しに行きたいのですが、 oci_connect関数が上手く機能していないようで、接続できません。 oci_connectの引数には、oci_connect("ユーザ名", "パスワード", "tnsname.oraにある名称") を設定して、接続をしようとしています。 接続エラーを見るため、oci_errorにてエラーをキャッチしているのですが、 そのエラー内容が空っぽ(Falseで返ってくる)のため、何がおかしいのかわからない状況です。 構築環境は以下の通りです。 OS:WindowsXP(SP3) Webサーバ:IIS 使用DB:Oracle9i(クライアントは10g) 珍しい組み合わせのため、あまり情報がない状態です。 PHP、Webサーバの設定は色々なサイトを確認して設定できたつもりなのですが、 どこかしらに不備があるのでしょうか? Apacheであれば、エラーがログに残るようですが、IISにそういった機能はないでしょうか? 何かアドバイス等ありましたらお願いします。

    • 締切済み
    • PHP
  • ORACLE ODBCエラー03121について

    先日、ORACLE73をインストールしました。 (日頃、ORACLEデータベースにアクセスするのに、ODBC経由のSQLツールを使用します) インストール直後は、ログインでき、SQLでDB検索可能だったのですが、数日後、再度ツールを使おうとしたところ、このようなエラーがでました。  ↓↓↓ ORA03121:インターフェースドライバが接続されていないため関数は実行されません。 インストールがうまくいってなかったのかな?とも思いましたが、一度ログインして普通に使えたので、それも考えにくいと思いました。 強いて心当たりがあるといえば、環境変数の設定を変えたのですが、そこも既にチェック済で、他にどのような原因があるか分からず煮詰まっています。 詳しい方、アドバイスよろしくお願いします。