[PHP-users 9392] Re: PEAR + Oracle でストアドプロシージャを実行できない
php-users@php.gr.jp
php-users@php.gr.jp
20 Aug 2002 10:50:11 +0900
お世話になります。
福田と申します。
ご返答ありがとうございます。
> errorNative()メソッドでDBの元エラーが見れるので、
> 切り分けのためdieする前に表示してみてはいかがでしょうか?
>
> > if (DB::isError($rc)) {
> > die("PEAR ERROR: " .$rc->getMessage()."[".$this->conn->errorNative()."]");
>
> > } else {
上記コードを追加させていただいたのですが、errorNativeからは
何も返ってきませんでした。
どうやらOracleにqueryが発行される前に、PEAR側で文法エラーと
判断しているようです。
Quoteの問題かと思って、事前にPEARのquote関数を呼んだり、
exec TEST0001(123456) とやってみたりもしたのですが、相変わ
らずPEAR側に DB Error : syntax error というエラーを返されて
しまいます。
(上記の方法でもSQL*Plusでは実行できます)
何かお気づきの点がございましたら、ご指摘願えると幸いです。
あと一つ疑問に思っているのですが、皆さんはPEARでストアドプロ
シージャを呼ぶ場合、どのようにしてOUTで指定したパラメータを
取得されているのでしょうか。以下のマニュアルを読む限り、PEAR
内にはBind関数が存在しないように思えるのですが…。
http://www.1x1.jp/php/manual_pear/
やはりストアドを使う場合はPEARを用いてコーディングするのは
無理なのでしょうか…。だとすると残念です。
よろしくお願いいたします。