как установитьFetchSize на курсор

Как установить размер выборки для курсора, возвращаемого хранимой процедурой. Пожалуйста, найдите мой фрагмент кода ниже:

conn.setAutoCommit(false);
cstmt = (CallableStatement) conn.createStatement();
cstmt = conn.prepareCall(sqlQuery);
cstmt.execute();
rst = (ResultSet) cstmt.getObject(sqlQuery);
rst.setFetchSize(100);

но набор результатов, похоже, игнорирует setFetchSize. Может ли кто-нибудь предложить мне решение? также моя версия оракула ojdbc11.2.0


person cxyz    schedule 06.11.2014    source источник
comment
Какой драйвер вы используете? Как mysql, оракул. Может быть полезно stackoverflow .com/questions/20496616/   -  person Yubaraj    schedule 06.11.2014


Ответы (1)


Вам нужно установить autocommit как false,

conObj.setAutoCommit(false);

И загрузите оператор callable, CallableStatement cstmt = connObj.createStatement();

Из Документов,

В случае операторов, возвращающих ResultSet, оператор завершается, когда последняя строка ResultSet была извлечена или когда ResultSet был закрыт. В более сложных случаях один оператор может возвращать несколько результатов, а также значения выходных параметров. Здесь COMMIT происходит, когда все результаты и значения выходных параметров получены.

person Santhosh    schedule 06.11.2014
comment
Можете ли вы предоставить полный синтаксис - person cxyz; 06.11.2014
comment
Вы можете просто добавить код после объявления объекта подключения. - person Santhosh; 06.11.2014
comment
Нет Криш, похоже не работает. Я отредактировал свой код, как указано выше - person cxyz; 06.11.2014
comment
где вы вызываете хранимую процедуру при загрузке вызываемого оператора с помощью объекта создания? - person cxyz; 06.11.2014
comment
Отвечая на мой собственный вопрос. Эта функция недоступна вместе с драйвером Oracle. Хотя API для setfetchSize() доступен в вызываемом операторе, а драйвер оракула набора результатов просто игнорирует размер, который установлен, и извлекает количество строк по умолчанию, как объявлено драйвером оракула. - person cxyz; 22.12.2014