- - PR -
ODBC経由でストアドの検索結果を受け取りたい
1
| 投稿者 | 投稿内容 |
|---|---|
|
投稿日時: 2005-10-12 18:07
ODBC経由でストアドの検索結果を受け取りたいのですがやり方がよくわかりません。
検索結果は複数です。 配列で返す場合はストアドは書けるのですが、それをODBCの SQLBindParameter で 取り出すやり方がわかりません。 検索結果(カーソル?)をそのまま返そうとした場合、今度はストアドの書き方がよくわかりません。 どう書けばよいのでしょうか? Oracle10g Windows2000 |
|
投稿日時: 2005-10-18 11:21
パッケージ側では CREATE OR REPLACE PACKAGE TEST AS TYPE refcur IS REF CURSOR; FUNCTION TEST1 ( CURSOR OUT refcur ) RETURN INTEGER; END; ファンクション内 FUNCTION TEST1 ( CURSOR OUT refcur ) RETURN INTEGER IS BEGIN open CURSOR for SELECT * FROM TABLE1; RETURN 0; EXCEPTION WHEN OTHERS THEN RETURN -1; END TEST1; でカーソルにSQLの結果を渡せます。 ODBCではやったことがないので詳しくはかけませんがoo4oやODP.NETと同じようだと思いますのでoo4o・VB6ベースで書きます。 パラメーターのセットは現在やられているのと同じですが、 カーソルを受け取るパラメータは xxx.parameters(1).name="CURSOR" xxx.parameters(1).Direction=ORAPARM_OUTPUT xxx.parameters(1).Type=ORATYPE_CURSOR で設定すればいいです。ポイントはORATYPE_CURSORだと思います。 オラクルDynasetに代入するのは Set oraDynaset = xxx.Parameters("CURSOR").Value でいけます。 残りは普通にできます。 業務上の制約があってソースをそのまま載せることは出来ないので イメージをつかんでもらえば幸いです。 間違っている箇所はごめんなさいです。 |
1
