[PHP-users 33862] Re: oci_connect()の2回目以降の接続ハンドル
eijun
eijun @ hal.ne.jp
2008年 7月 17日 (木) 23:19:15 JST
北村です。
経過報告です。
> MIRACLE LINUX One V4.0-Asianux Inside for x86-64
(中略)
> ませんね。
> と思って、oci8のパッケージをアップデートしてみましたが、これまでと変わら
> ず、コネクトのたびに新しいリソースIDが返ってきます。
oci8だけではなく、SP2を当ててみましたが、現象は変わりませんでした。
その後、テストコードで色々試してみて、面白い(というか変な)規則性を発見
しました。
単純にoci_connect()をループさせた場合には、
<?php
for ($i=0;$i<10;$i++){
$conn = oci_connect("user", "password", "tns");
echo $i+1 . "つ目 " . $conn . "<br />";
}
?>
1つ目 Resource id #3
2つ目 Resource id #5
3つ目 Resource id #7
4つ目 Resource id #9
5つ目 Resource id #11
6つ目 Resource id #13
7つ目 Resource id #15
8つ目 Resource id #17
9つ目 Resource id #19
10つ目 Resource id #21
と、IDが1つおきになります。
<?php
for ($i=0;$i<10;$i++){
$conn = oci_connect("user", "password", "tns");
//----------------
$sql=mb_convert_encoding("select * from testtable","UTF-8","EUC");
$stmt = oci_parse($conn,$sql);
$error=oci_execute($stmt);
//----------------
echo $i+1 . "つ目 " . $conn . "<br />";
}
?>
とクエリを投げる処理を入れると
1つ目 Resource id #3
2つ目 Resource id #6
3つ目 Resource id #9
4つ目 Resource id #12
5つ目 Resource id #15
6つ目 Resource id #18
7つ目 Resource id #21
8つ目 Resource id #24
9つ目 Resource id #27
10つ目 Resource id #30
と、IDが2つおきになります。
ますますわからなくなってきました。(汗
PHP-users メーリングリストの案内