スレッド表示 | フラット表示〕 全トピック 920 件中 421 番目 次≫ ≪前

バインド配列型で値を渡したい

created: 2005-07-01 17:14 | modified: 2005-07-05 17:49 | reply: 3

[2341] バインド配列型で値を渡したい

user: takashi | created: 2005-07-01 17:14
私、藤田と申します。
宜しくお願いいたします。

互いに完成されたシステム間のデータ連係を図ろうとしています。

Aシステム(自社開発Webシステム)
 PHP[4.3.3](MIRACLE)
 PostgreSQL[7.4.6](Redhat)

Bシステム(他社パッケージCSシステム)
 ORACLE9i[9.0.1](Windows)

ユーザーからAシステムからBシステムへ転送というアクションが発生したら、
指定データをAシステムから抽出し、Bシステムへデータ更新する。

Bシステムで用意されているストアドパッケージの引数は、
バインド配列型とのことです。

Bシステムのアプリケーションは、VBで構築されています。
パッケージ業者が言うところ、
VBでは「oraparamarray.AddTable Name, IOType, ServerType, ArraySize [, ElementSize]」
というバインド配列定義をするので、
PHPで、そのようなことをすれば引数を受け取れるのではないのか?
ということでした。

単純にPHP配列を、
OCIBindByNameを利用してストアドパッケージをコールすると下記のエラーが返ります。

Warning: ociexecute(): OCIStmtExecute: ORA-06550: 行1、列35: PLS-00306: 'MAIN'の呼出しで、
引数の数または型が正しくありません。 ORA-06550: 行1、列28: PL/SQL: Statement ignored

ORACLE側で受け取った引数をLOGに取りましたが、吐き出しされなかったので、
どうやら本当にバインド配列でしか受け取れない状況のようです。


どなたか、バインド配列渡しを経験された方、
何か、アドバイス頂けないでしょうか?
reply: 2345 返信 編集 削除

[2345] DoYouPHP?さんのサンプル

user: シロウ | created: 2005-07-03 03:24
http://www.doyouphp.jp/sample/sample_ora_list.shtml
http://www.doyouphp.jp/sample/sample_ora_cursor.shtml

3年前ぐらいにストアドプロシージャーで何かした経験がありますが
ストアドパッケージを扱った経験はありません。

$stmt = OCIParse($conn, "begin 
oraparamarray.AddTable(:Name, :IOType, :ServerType, :ArraySize);
end;");

OCIBindByName($stmt, "Name", $Name);
OCIBindByName($stmt, "IOType", $IOType);
OCIBindByName($stmt, "ServerType", $ServerType);
OCIBindByName($stmt, "ArraySize", $ArraySize);

こんなので出来るかは不明です。
DoYouPHP?さんの所ではオラクル系が強いようなので
そこで質問してみるのもよいのではないでしょうか?
Parent: 2341  reply: 2350 返信 編集 削除

[2350] Re.VB有利?

user: takashi | created: 2005-07-05 09:20
シロウ様、回答ありがとうございます。

早速、DoYouPHP?さんに、
メールで質問させていただいたのですが、
回答してもらっていないのが現状です。

たぶん、私の質問内容に問題ありかなぁ?と反省しております。

未だに解決できていないので、今は、
OCINewCollectionが必要なのかな?と研究始めたところです。
的外れかもしれませんが...。

とにかく、PHP+ORACLEは、情報少なすぎですね。

何か情報ありましたら、是非ぜひ、教えてください。
宜しくお願いいたします。
Parent: 2345  reply: 2351 返信 編集 削除

[2351] ORACLEジャパン

user: シロウ | created: 2005-07-05 17:49
以下はORACLEサイトの技術情報です。
http://otn.oracle.co.jp/
http://otn.oracle.co.jp/tech/opensource/index.html

登録
http://www.oracle.co.jp/cust_owa/CUST/ssl_gate_r?rp=http://otn.oracle.co.jp/index.html

有料サポートを受けていれば、即回答してくれるはずです。
ORACLEジャパンは在宅勤務が進んでいるのですよね。

どの様なストアドパッケージを定義したかOCIParseに掛けたSQL文は?
などが分らないと回答のしようがないと思います。
この掲示板にもそれらが出ていれば解る人がいるかもしれませんね。

PHPユーザーのメーリングリスト
http://ns1.php.gr.jp/mailman/listinfo/php-users
http://ns1.php.gr.jp/mailman/namazu.cgi?idxname=php-users
Parent: 2350  返信 編集 削除
スレッド表示 | フラット表示〕 全トピック 920 件中 421 番目 次≫ ≪前
ページの一番上へ
Googleグックマークに登録 Yahooグックマークに登録 livedoorクリップに登録 @niftyクリップに登録 はてなブックマークに登録 deliciousに登録 Buzzurlに登録 FC2ブックマークに登録
最近更新された掲示板トピックス
管理人Blog
Yahoo Search

最近更新したNote
PHPマニュアル
今日のブックマーク
PHPマニュアル関数検索
関数名を入力し検索ボタンをクリック↑