powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / возвращаются не все записи
10 сообщений из 10, страница 1 из 1
возвращаются не все записи
    #33962771
ivan2006
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Помогите, пожалуйста!
Подключении к Ораклу 9. Почему-то выбираются не все строки, должно быть 39, а есть всего 10. Я заметил, что rs.getFetchSize() тоже возвращает 10. Не знаю, если ли связь или нет, но работать нормально не хочет.
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
Statement s = connection.createStatement();
	 try  {
		ResultSet rs = s.executeQuery(sql);
		System.out.println(rs.getFetchSize());
		ResultSetMetaData md = rs.getMetaData();
		 try  {
		 while  (rs.next()) { ++count; }
		System.out.println(count);
		}  catch  (SQLException e) {
			rs.close();
			s.close();
		}
         }  finally  {
		s.close();						
		connection.close();
	}
// а запрос такой:
// select 10 priority, sysdate start_date, 1 attempts, '23434' phone, 1.50 debt,
//  1  type from dual connect by rownum <  40 
В чем может быть проблема?
...
Рейтинг: 0 / 0
возвращаются не все записи
    #33962839
zurtax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
select 10 priority, sysdate start_date
^^^^^ - это не может быть причиной?
...
Рейтинг: 0 / 0
возвращаются не все записи
    #33962872
ivan2006
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
похоже, что дело в запросе - он в sqlplus выдает почему-то 1 строку
...
Рейтинг: 0 / 0
возвращаются не все записи
    #33962919
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
http://asktom.oracle.com/pls/ask/f?p=4950:8:::::F4950_P8_DISPLAYID:12718072439781#36446039313575
select rownum from dual
connect by rownum < 10

would *NOT* work with "earlier releases". this is how i've read the above "this
is why THIS generator doesn't work in the ...".
Какая версия Oracle?
...
Рейтинг: 0 / 0
возвращаются не все записи
    #33962924
Фотография Timm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
 import  java.sql.*;

 class  test3
{
     public   static   void  main(String[] args)  throws  Exception
    {
         Class .forName("oracle.jdbc.driver.OracleDriver");
        Connection connection = DriverManager
                .getConnection("jdbc:oracle:thin:@localhost:1521:test", "tim", "t");
        Statement s = connection.createStatement();
         try 
        {
             int  count =  0 ;
            ResultSet rs = s.executeQuery(
                    "select 10 priority, sysdate start_date, 1 attempts, '23434' phone," 
                    + " 1.50 debt, 1 type from dual connect by rownum < 40");
            System.out.println(rs.getFetchSize());
             try 
            {
                 while  (rs.next()) { ++count; }
                System.out.println(count);
            }
             catch  (SQLException e)
            {
                rs.close();
                s.close();
            }
        }
         finally 
        {
            s.close();
            connection.close();
        }
    }
}
Код: plaintext
1.
 10 
 39 
Ora 10.2.0.1, драйвер тоже оттуда.
connect by level < 40 то же самое?
...
Рейтинг: 0 / 0
возвращаются не все записи
    #33963230
ivan2006
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
у меня 9.2.0.1. Друг на 10 пробовал, у него работает. А у меня в sql navigator работает - 39 строк, в sqlplus - 1 строка, в java-программе - 10 строк. :-(
...
Рейтинг: 0 / 0
возвращаются не все записи
    #33963265
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуй так:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
SQL> select rownum from dual connect by rownum <  6 ;

    ROWNUM
----------
          1 

SQL> select * from (select rownum from dual connect by rownum <  6 );

    ROWNUM
----------
          1 
          2 
          3 
          4 
          5 
...
Рейтинг: 0 / 0
возвращаются не все записи
    #33963292
ivan2006
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
О, да! так работает везде одинаково. Спасибо всем!
Хотя все равно не понятно: почему?
...
Рейтинг: 0 / 0
возвращаются не все записи
    #33963320
Фотография Denis Popov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ivan2006 wrote:

> О, да! так работает везде одинаково. Спасибо всем!
> Хотя все равно не понятно: почему?

ИМХО это не совсем честный способ получения требуемого количества записей. Он не
документирован и никто не собирается поддерживать одинаковую работу этой фичи в
разных версиях Oracle.

Как еще можно получить подобные записи, почитай
здесь , вопрос 11.
Posted via ActualForum NNTP Server 1.3
...
Рейтинг: 0 / 0
возвращаются не все записи
    #33963438
он же
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зачем использовать кривой способ ("connect by rownum < :X") для такого тупого запроса, если можно использовать легальный "where rownum < :X"
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / возвращаются не все записи
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]