1つのVARCHARパラメータを取り、リストであるOUT CURSOR(この場合は9行の3行)を戻すプロシージャがあります。JMeterでカーソルを返すOracleプロシージャからの読み込み可能な出力
私の現在のJDBC要求:
CALL foo.bar.procedure('123456', ?)
- クエリのタイプ:コール可能文
- パラメータ値:OUT
- パラメータタイプ:OUT -10
- 変数名:OUTLIST
- 結果変数名:resultList(これは常にnullですが、結果が空であることを意味しますか?)
- ハンドルのResultSet:ストアはObjectとして
レスポンスデータ:
-1 updates.
Output variables by position:
[1] [email protected]
OUTLISTは今[email protected]
hereを示唆しているように私はBeanShellのサンプラーで出力リストからいくつかの情報を取得しようとしましたが、 ResultSetオブジェクトIDだけを除いて、何も取得できませんでした。
私はJmeterからプロシージャを呼び出すのが初めてです。結果のツリーは結果データを表示していないようですが、SQLクエリとパラメータ値を前後に移動して修正しようとしましたが、しかし、私は常に出力に同じ問題があります。
私も同様の設定で、このような何かを試してみた:
DECLARE
refCursor sys_refcursor;
Type MyRec Is Record (
v1 varchar2(
v2 varchar2(50),
...
v13 varchar2(10));
rec MyRec;
BEGIN
foo.bar.procedure('123456',refCursor);
LOOP
FETCH refCursor INTO rec;
EXIT WHEN refCursor%NOTFOUND;
dbms_output.put_line(
rec.v1||','||
rec.v2||','||
...
rec.v13);
END LOOP;
END;
私が正しくプロシージャを呼び出すか、JDBC要求の設定で不足しているものですかな?
私はJDBCリクエストサンプラーでは動作しませんでしたが、私はいつも「Closed Statement:next」というエラーが出ました。 私はJDBC Requestサンプラーから離れ、BeanShellサンプラーからプロシージャーを呼び出して、ソリューションを使用して出力を保管することで、問題を解決しました。すぐに私のソリューションを投稿します。 ありがとうDmitri – einaralex