私はJavaを使用してmssql2012DBにアクセスしています
パラメータに1つだけ(たとえば@ p1という名前)を取り、単一の結果セットを返すストアドプロシージャ「procX」があります。結果セットを取得する前に戻り値を読み取ろうとしない限り、正常に機能します。コードは以下のとおりです。「//」を削除して戻り値を取得するnull
と、結果として取得されます。
cs = con.prepareCall("{? = call procX(?)}");
cs.registerOutParameter(1, Types.INTEGER);
cs.setInt("p1", 1);
cs.execute();
//cs.getInt(1);
rs = cs.getResultSet();
また、結果セットを取得した後で戻り値を読み取った場合でも、これにより結果セットが閉じられます。
結果セットを取得できなくても戻り値を読み取る方法はありますか?
そして、私が見る限り、この状況は戻り値に制限されておらず、他の出力パラメーターでも発生します。