[PHP-users 7721] DBの持続的接続について
相良 聡志
php-users@php.gr.jp
Wed, 29 May 2002 11:23:55 +0900
こんにちは。
相良と申します。
以前、DBデータの取得方法に関しての問合せをさせて頂き、
皆様のおかげで無事解決をしました。その節はありがとうございました。
この度はDB接続において、OCIPLogonを利用した持続的接続を試しています。
<質問内容>
OCIPLogonを利用すると、確かにDBのセッションは持続されます。
しかし、一度確立したセッションを再利用する方法が分かりません。
どなたか、お知恵を貸して下さい。
よろしくお願いします。
<環境>
WEBサーバ(Miracle Linux2.0)
Net8
Apache1.3.24
PHP4.1.2
DBサーバ(WindowsNT4.0 SP5)
Oracle7.3.3.0.0
<状況>
DBからデータを取得するページ(画面orモジュールのことです)を
2ページ作成して、1ページ目から2ページ目を呼出します。
この2ページ目でのDB接続を1ページ目のDBセッションを再利用したいのです。
−1−
下記のソースを使用してDB接続を行うとDBセッションが1つ確立されます。(1ページ目)
2ページ目でOCIPLogonを行わず、OCIParseを発行すると以下のエラーが発生します。
Warning: Supplied argument is not a valid OCI8-Connection resource in /usr/local/apache/htdocs/w_loginchk.php on line 9
−2−
状況1の2ページ目アクセスの際にOCIPLogonを再度行うと、
もう1つDBセッションが確立され、計2つのセッションが発生してしまいます。
−3−
初めてのOCIPLogonのIDをセッション情報に格納して(1ページ目)、
2ページ目でその情報を元にOCIParseを行うと状況1と
同じ状態になってしまいます。
<参考ソース>
<?
$conn = OCIPLogon("USER", "PASS", "CONNECT_STR");
$sql = "select CODE,NAME from TABLE_NAME";
$sql = OCIParse($conn, $sql);
OCIExecute($sql);
while(OCIFetch($sql))
{
$user_code = OCIResult($sql, "CODE");
}
?>
※※※※※※※※※※※※※※※※※※※※※※※※※
相良 聡志
E-mail:sagaras@cg.tecsys.co.jp
※※※※※※※※※※※※※※※※※※※※※※※※※