• 締切済み

ApacheWebサーバがあるサーバから,別サーバにあるOracle8iデータベースに接続するには

Webサーバ(ApacheWebサーバ)がインストールしてあるサーバとは別に, データベース(Oracle8i)がインストールしてあるサーバに接続したいのですが, とある文献に, ==================== Oracleの場合、データベースへの接続は「ocilogon関数」を利用します。 この関数 は、下記のように接続するデータベースとユーザーを指定します。 関数の返り値と して、接続IDが返されるので、そのIDを変数に受け取るようにしておきます。 ocilogon("ユーザー","パスワード","接続文字列"); // Oracleとの接続 $conn = OCILogon("scott", "tiger", "orcl"); ===================== という記述がありました. このような記述だけで,別サーバにあるOracle8iへ接続可能なのでしょうか? さらに, ===================== 「また、ここで「接続文字列」を指定することによって、  Webサーバとは別のサーバで稼働 しているデータベースへの接続も可能です。」 ===================== という記述もあります. 接続文字列(orcl)を入力しただけで,別サーバにあるデータベース に接続することは可能なのでしょうか?私が思うにはデータベースサーバの IPアドレスなどの情報がないと無理な気がするのですが,どうなのでしょうか? よろしくお願いします.

みんなの回答

回答No.2

Oracleとの接続 $conn = OCILogon("scott", "tiger", "orcl"); の「orcl」にあたる部分はホスト接続文字列で、 この名前は/oracle_home/network/admin/tnsnames.ora で定義されています。このtnsnames.oraにターゲットとなるホストのIPアドレスやポート番号、サービス名等が書いてあります。

  • anmochi
  • ベストアンサー率65% (1332/2045)
回答No.1

 Oracle 8iは接続マシンからOracleマシンへの接続にNet8iというものを使う。なので、そのWebサーバにはOracle ClientをインストールしてNet8iの設定を行う必要がある。で、このNet8iの設定の際にIPアドレスを指定するので、各種接続ライブラリではこの接続文字列だけで接続できるわけだ。 Net8iの接続設定の主な設定項目 ・接続文字列(プログラムからはこれを使う)。 ・接続先IPアドレスなど、Oracleサーバを特定できるもの。 ・接続先グローバル・データベース名。 Oracle Clientの設定でここまで行うので、プログラムでは接続文字列のみで良い。