Ref Cursor and Resultset - PullRequest
       1

Ref Cursor and Resultset

3 голосов
/ 12 июля 2011

Я вызываю процедуру сохранения из моего java-класса, который возвращает мне курсор ref, я извлекаю набор результатов из курсора и повторяю набор результатов для моего использования, теперь мой вопрос такой:

есть ли в возвращаемом курсоре ссылки все данные, или он снова отправляется на сервер базы данных при вызове getObject для курсора для набора результатов?

привет

Ответы [ 2 ]

5 голосов
/ 12 июля 2011

Размер выборки - это параметр Oracle, который вы ищете. Это очень важный параметр, если ваше приложение предполагает передачу данных с сервера на клиент.

С помощью этого метода вы можете установить размер выборки для вашего оператора.

void setFetchSize(int rows) throws SQLException

http://download.oracle.com/docs/cd/B28359_01/java.111/b31224/resltset.htm#sthref1000

По ссылке выше ...

По умолчанию, когда Oracle JDBC выполняет запрос, он получает результат установить 10 строк за раз от курсора базы данных. Это по умолчанию Значение Oracle для предварительной выборки строк. Вы можете изменить количество найденных строк с каждой поездкой в ​​базу данных курсором, изменяя предварительную выборку строки значение (см. «Предварительная выборка строк Oracle» для получения дополнительной информации).

Когда объект оператора выполняет запрос, размер выборки объект оператора передается объекту набора результатов, созданному запрос. Тем не менее, вы также можете установить размер выборки в наборе результатов объект для переопределения размера выборки оператора, который был ему передан.

4 голосов
/ 12 июля 2011

Обычно на клиенте имеется буфер, связанный с курсором.Когда вы запрашиваете первую строку, сервер оракула заполнит буфер данными строки для курсора.Если не все данные строки поместятся в буфере, некоторый последующий вызов курсора получит следующие n строк с сервера.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...