• ベストアンサー

PHP5とORACLE10の接続方法

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

  • PHP
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • wp_
  • ベストアンサー率54% (132/242)
回答No.1

世間一般ではどうか分かりませんが、PDOをwrapした構築が一番しっくり来るような気がします。 ただoracle関数は既に推奨されていませんので、使用は止めたほうがよいかと。

taro_029
質問者

お礼

アドバイスありがとうございます。 PDOについて調べてみます。 ありがとうございました。

関連するQ&A

  • PHPとOracleの接続が全く分かりません。

    PHPを使って、Oracleに接続したいのですが 接続方法がよく分かりません。 初めに、何から始めればいいのか?? 初歩的な事も分からない状況です。 <環境>  OS :Windows XP Profesional  DB :Oracle9i Enterprise Edition Release 9.2.0.1.0  Webサーバ:apache http server 2.0.53  WEB :PHP 5.0.4 どうぞ、よろしくお願いします。

  • 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
  • PEARでOracleへ接続時にエラー

    Linuxサーバ環境でpearを用いてPHPからOracleに接続したいのですがうまくいきません。 <?php require_once("DB.php"); $dsn = "oci8://SCOTT:tiger@DBサーバIP/DB名"; $db = DB::connect($dsn); if (DB::isError($db)) { echo "接続エラー"; } else { echo "接続成功"; } ?> というPHPにアクセスすると、接続エラーとしか表示されません。 接続先のDBに該当のユーザは存在しており、このWebサーバからSQLplusで sqlplus scott/tiger@//DBサーバIP:1521/DB名 で接続はできております。 OS:CentOS 5.2 (VMWare上で稼働) カーネル:2.6.18-92.el5 Apache:2.2.9 PHP:5.2.6 PHP-PEAR:1.4.9 接続先Oracle:9.2.0.1.0 (イントラ同セグメント内で稼働) 尚、同様の方法でWebサーバ内で稼働しているMysqlへは問題なく接続できております。 以上、心当たりのある方がいらっしゃいましたらお願い致します。

    • 締切済み
    • PHP
  • PHPとOracleの接続について

    oracle関数を使用したいのですが 『php.ini』の『extension=php_oci8.dll』を有効にして、ブラウザでPHPにアクセスしたら以下のような2つの警告が出ました。 1.プロシージャエントリポイントOCILobFreeTemporaryがダイナミックリンクライブラリOCI.dllから見つかりません。 2.Unknown():Unable to load dynamic library 'd:\php\extensions\php_oci8.dll'-指定されたプロシージャが見つかりません。 extension=php_oci8.dll』を無効にすればPHPは動きます。 環境は下記を使用しています。 NT:4.0 PHP:4.3.0 ORACLE:8.0.6 APACHE:1.3.27 ご存知の方はよろしくお願いいたします。

    • 締切済み
    • PHP
  • PHPを始めるにあたって質問です。

    よろしくお願いします。 PHPを始めてみようかと思い、簡単な物をPHP5でPDOからMySQLを使って初めて書いて、 ローカル(XP + xampp と vmware上の ubuntu )では一応動いたのですが、 あるレンタルサーバーでは、PHP4.4.6でPDOが使えない様子で、 別なサーバーではPHP5.2.3なんですが、PDOのドライバがSQLiteしか使えないようでした。 そんなこんなで、お聞きしたいのですが、 PHPでデータベースを使った小規模なアプリケーションを書いて、レンタルサーバーで動かす場合に 無難というか、環境がそろいやすいというか、移植しやすい組み合わせというのがあれば教えて下さい。 例えば、 PHP5 + PDO + SQLite とか PHP4 + PEAR::DB + MySQL よろしくお願いします。

    • 締切済み
    • PHP
  • 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設定でのテストはうまくいくんですが・・。 同様の環境で同様なトラブルの原因と対処策をご存じの方がいらっしゃったら、ご教授いただけないでしょうか?

  • PHP4によるOracleへの接続

    PHP4(Linux)からOracle 8.1.5(WindowsNT) への接続を考えております。 なるべく構成をシンプルにしたいのとコストをかけたくないという理由から、Linuxにインストールすべきクライアントソフトを模索しています。 Oracleに明るくないもので素人調べなのですが、通常ですとOracle for Linuxのサーバライセンスを購入しそれに付属するクライアントをインストールする。これが一番素直なのでしょうか。 またODBCでも接続が可能と小耳に挟んだのですが、この場合ですとクライアント側には特にライセンスやクライアントソフトなどは必要ないのでしょうか。 妙な事を言っているのかもしれません、どなかお知恵をお貸し願えれば幸いです。 よろしくお願いいたします。

  • PHPとOracleの接続ができない

    ApacheとPHP5.1.5とOracle 10g XEを使用しています。 PHPのプログラムで、oracleへの接続を試みていますが、 undefined function OCILogon() というエラーが表示されてしまいます。 以下、今回の状態を記述します。 ・php.iniのextension=php_oci8.dllは「;」を外してあります。 ・php.iniのextension_dirもdllがある場所に設定しています。 ・phpinfoで、ociの項目が表示されない。 ・もちろん、php.iniの場所は合っていますし、変更後はapacheの再起動も行っています。 ・プログラムはネットで拝見したPHP5用のものなので、プログラムの間違いではないと思います。 原因が分かる方がいらっしゃいましたら、回答よろしくお願いします。

    • 締切済み
    • PHP
  • PHPでDBへアクセス

    最近PHPをやり始めました。質問も初めてです。 PHPでDB(MySQL)にアクセスする方法は (1)mysql_connect()を使用する (2)PEAR::DBを使用する (3)PDOを使用する の3っの方法がありますが、どれが良いのでしょうか? どなたか御意見を伺えましたら、幸いです。 よろしくお願いします。

    • 締切済み
    • PHP
  • PHP5でOracle接続がエラー

    Linuxサーバー(Oracle(10.1)+Apache(2.0.52)+PHP(5.0.5)) からデータを参照し、ブラウザで表示するものを作成しようとしています。 PHPからオラクルへ接続テストをしたところ、うまくいきませんでした。 $conn=oci_connect($user,$pass,$db); これがORA-12514のエラーになります。 エラーの原因がわかりません。どういうことを確認すればいいですか? tnsnames.oraとlistener.oraの"HOST"はIPアドレスにしていますが、 リスナーのステータス(コマンド:lsnrctl status) で見た"HOST"は<*.co.jp>というふうになっています。 これは問題ないのでしょうか? (tnsnames.ora) <$DB> = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = <IPアドレス>)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME =<$db>) ) ) (listener.ora) LISTENER = (DESCRIPTION_LIST = (DESCRIPTION = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1)) ) (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = <IPアドレス>)(PORT = 1521)) ) ) (リスナーのステータス) リスニング・エンドポイントのサマリー... (DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1))) (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=<$db.**.co.jp>)(PORT=1521)))

専門家に質問してみよう