[PHP-users 9840] Re: 他のサーバーにあるDB に接続することは可能ですか?

親善 php-users@php.gr.jp
Fri, 6 Sep 2002 16:47:51 +0900


親善です。

後藤様

ありがとうございます。

今回、Bサーバーにオラクルクライアントを導入し、AサーバーにはってあるOracleに
対してのODBCの設定を行いました。

この時点でAサーバーのデータを扱えるのを確認しました。(Sqlplus、odbc
test)

そこでBサーバー上のPHPからodbc関数にて接続を試みたところ、求める結果がか
えりません。

<?php
$hDB = odbc_connect("dsn","user","password");
$res = odbc_exec($hDB,"select * from table1");
$row = odbc_num_rows($res);
$rfw = odbc_num_fields($res);
?>

<? echo($row); ?>
の結果は"-1"、
<? echo($rfw); ?>
の結果は"8"、
といった結果でカラム数は合っているのですが、レコード数がかえらないのです。

御教授お願いします。

----- Original Message -----
From: "Kazumasa Gotoh" <kgotoh@cic-kk.co.jp>
To: <php-users@php.gr.jp>
Sent: Friday, September 06, 2002 1:43 PM
Subject: [PHP-users 9833] Re: 他のサーバーにあるDB に接続することは可能です
か?


>
> From: <minami_sinzen@livedoor.com>
> Date: Fri, 6 Sep 2002 12:47:56 +0900
>
> > マニュアルは読んだのですが、ローカルではない ORACLE_HOME
> > の指定の仕方がわからず投稿してしまいました。
>
> …… Oralce はネットワーク経由でもアクセス可能な DB であり(という
> より、そうするのが普通の使い方)、そのネットワークアクセスの方法と
> 必要な設定などは Oracle 標準の sqlplus のようなツールであろうと、
> PHP であろうと、またはあなたが自分で作成したプログラムであろうと
> その前提となる話は同じです。
>
> 相手の ORACLE_HOME を指定するなんてのは Oralce を理解していれば
> 出てこない発想です。
>
> ORACLE_HOME などは、あくまでも自分のマシンにインストールした
> Oracle 環境(クライアント環境のみでも Oracle 環境です)を指すもので
> あって、SQL*Net, Net8 などによりネットワークアクセスを行うには、
> 接続先の定義を適切に行った上で接続することになります。
>
> > 御教授いただいた手法が初心者の私には無理そうなので、
> > BサーバーにAサーバーのOracleデータをODBCリンクし、
> > それをODBC関数を使ってアクセスしようかと考えました。
>
> う〜ん… ODBC というものが、どういうものであるのかもよくご存知ない?
>
> B のプラットフォームは Windows2000 という事でしたが、ODBC 接続では
> 実際にその DB に接続を行える下位のドライバ… というか仕掛けというか…
> がなければ動きません。
>
> したがって、Oralce に対して ODBC 接続を行う場合でも、そのマシン上に
> Oracle クライアント環境があり、SQL*Net, Net8 などがちゃんと動く
> ように設定されていなければ動きません。
>
> =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
> (株) セントラル情報センター
>                              後藤和政    kgotoh@cic-kk.co.jp
> _______________________________________________
> PHP-users mailing list
> PHP-users@php.gr.jp
> http://ns1.php.gr.jp/mailman/listinfo/php-users
>