|
0 / 0 / 0
Регистрация: 06.09.2007
Сообщений: 5
|
|
JDBC: как сделать scrollable ResultSet? - ругается, не дается26.09.2007, 23:34. Показов 3211. Ответов 7
Метки нет (Все метки)
Hi All!
Вводная: Connection к Oracle, ч/з JDBC-ODBC мост. хочу поиметь scrollable ResultSet с запроса strSQL = 'SELECT w.TWork, p.TParam, p.Value FROM Test_Work w, Test_Param p WHERE (w.ID_Test_Point = 2) AND (p.ID_Test_Work = w.ID_Test_Work)' делаю ... Statement stmt = con.createStatement(ResultSet.TYPE_SCROL L_INSENSITIVE, ResultSet.CONCUR_READ_ONLY); ResultSet rs = stmt.executeQuery(strSQL); ... и эта бяка при выполнении дает: java.sql.SQLException: [Microsoft][ODBC driver for Oracle]Cannot use Keyset-driven cursor on join, with distinct clause, union, intersect or minus or on read only result set; CONCUR_UPDATABLE в createStatement, and/or con.setReadOnly(false) - не помогает. Я понимаю, что я чего-то не понимаю, но все же: Вопрос: можно ли поиметь scrollable ResultSet с такого запроса, и если да, то как? Oracle JDBC driver не предлагать. Но если очень хочется - предлагать, но ласково ![]() P.S. кстати, если кто знает, какое соотношение по скорости у Oracle JDBC (OCI | Thin) driver и моста JDBC-[ODBC driver for Oracle]?
0
|
|
| 26.09.2007, 23:34 | |
|
Ответы с готовыми решениями:
7
JDBC: ResultSet MS SQL driver type 4 ошибка: [Microsoft][SQLServer JDBC Driver]No ResultSet set was produced.
|
|
mishgun
|
||||||
| 27.09.2007, 01:15 | ||||||
|
скорость у pure jdbc-driver выше чем у jdbc-odbc моста.И вообще весь навороченный мир предлагает использовать вендоровские драйвера а мост только когда работаешь с Акссесом.И потом что ты имеешь ввиду под scrollable ResultSet?Тебе что надо что бы он срускался по рядам?
Тогда пиши так
|
||||||
|
0 / 0 / 0
Регистрация: 06.09.2007
Сообщений: 5
|
||||||
| 27.09.2007, 12:25 [ТС] | ||||||
|
>И потом что ты имеешь ввиду под scrollable ResultSet? Тебе что надо что бы он спускался по рядам?
Хе, нет, конечно. Нужно, что бы он _еще_и_поднимался_. Т.е. чтобы проскролировав ResultSet до конца можно было сказать ему например .beforeFirst(), не опасаясь, что он пошлет тебя на yandex. ![]() A default ResultSet object is not updatable and has a cursor that moves forward only. Это когда делаешь просто
Вот. На счет драйверов: - только что удалось завести Oracle JDBC Thin драйвер, проверю, нет ли у него этих граблей + протестирую, кто быстрее.
0
|
||||||
|
AiK
|
|
| 28.09.2007, 01:06 | |
|
А чем не устраивает многоуважаемого дона вариант выгребания резалтсета в вектор и перемещения по последнему?
|
|
|
0 / 0 / 0
Регистрация: 06.09.2007
Сообщений: 5
|
|
| 29.09.2007, 10:40 [ТС] | |
|
a. скоростью
b. несоответствием условию задачи. Мы тут в детство вдарились - этими самыми мереямся ... скоростями.. Надо, насколько это возможно, написать код, идентичный тестовому ASP'шному, и оценить скорость выполнения.. Кроме того, раз сущетвует возможность делать скролябле-ResultSetы, почему бы не научиться их делать?.. дон Румата - дону AiK
0
|
|
|
AiK
|
|
| 29.09.2007, 14:52 | |
|
В таком случае надо читать документацию к драйверу.
В случае с JdbcOdbc мостиком - доку к ODBC дайверу. 90 к 10, что он не поддерживает скроллабле резалтсеты. Да, открой тайну золотого ключика - зачем понадобилось возвращатся? |
|
|
0 / 0 / 0
Регистрация: 06.09.2007
Сообщений: 5
|
|
| 29.09.2007, 16:16 [ТС] | |
|
Иванова не дура?.. Ну извините.. В смысле, [Microsoft][ODBC driver for Oracle] не поддерживает?? 8 [ ]
Про тайну золотого ключика - Вопрос скорее должен звучать так: 'зачем это понадобилось тому, кто писал ASP-шный пример?'. А в примере производиться хитрый расчет. Считается в два прохода. В первый проход считаеются некоторые суммарные показатели, которые используются при расчете других показателей во втором прогоне. Причем в одной итерации (в обоих проходах), в зависимости от значений параметров (из того же резалтсета), могут использоваться разные функции. В общем случае пытаться что-нить приводить к виду, в котором все считается за один проход - себе дороже (ему дороже, мне надо только тупо сделать то же, но на JSP ). А если добавить необходимость апдэйтить табличку результатами, получаемыми во время второго прохода, то, по-моему, без второго прохода вообще не обойтись.. (- последнее немного путанно, но, я думаю, понятно, что имел ввиду).Вот.
0
|
|
|
AiK
|
|
| 29.09.2007, 17:40 | |
|
Я не знаю, причём тут Иванова (мне Петрова больше нравится
), но вот что об этом пишут в MSDN:When you try to use table aliases in SELECT statements with the Microsoft Oracle ODBC driver and you are using the Keyset cursor type, you receive the following error: [Microsoft][ODBC driver for Oracle]Cannot use Keyset-driven cursor on join, with union, intersect or minus or on read only result set' CAUSE When the driver re-writes the SQL statement to send to the Oracle server it doesn't create the correct syntax. Internally, Oracle returns the following error message: ORA-00964: table name not in FROM list In turn, The Microsoft Oracle ODBC driver maps that error message to the message listed in the SYMPTOMS section of this article. RESOLUTION The solution depends on the nature of the application. If the application needs to use Keyset cursors, it may not use table aliases. If the application must use table aliases, the cursor type must be changed to FORWARD-ONLY or STATIC. Читать доки надо (хоть изредка)
|
|
| 29.09.2007, 17:40 | |
|
Помогаю со студенческими работами здесь
8
IceSqueez ругается с JDBC Jdbc и SQlite. Как лучше сделать? Как сделать подключение драйвера jdbc в netbeans? Как сделать inner join в JDBC при работе с MySQL ? Java + Access bez JDBC-ODBC a srazu 4erez JDBC Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Оттенки серого
Argus19 18.03.2026
Оттенки серого
Нашёл в интернете 3 прекрасных модуля:
Модуль класса открытия диалога открытия/ сохранения файла на Win32 API;
Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
|
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога
Финальные проекты на Си и на C++:
finish-rectangles-sdl3-c. zip
finish-rectangles-sdl3-cpp. zip
|
Символические и жёсткие ссылки в Linux.
algri14 15.03.2026
Существует два типа ссылок — символические и жёсткие.
Ссылка в Linux — это запись в каталоге, которая может указывать либо на inode «файла-ИСТОЧНИКА», тогда это будет «жёсткая ссылка» (hard link),. . .
|
[Owen Logic] Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ФедосеевПавел 14.03.2026
Поддержание уровня воды в резервуаре количеством включённых насосов: моделирование и выбор регулятора
ВВЕДЕНИЕ
Выполняя задание на управление насосной группой заполнения резервуара,. . .
|
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|