![]() |
|
Модераторы: LSD, AntonSaburov |
![]()
|
|
| <Spawn> |
|
|||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: нет Всего: 64 |
СУБД - Oracle.
При попытке добавить новую запись в Набор Данных получаю такое сообщение: java.sql.SQLException: ORA-01732: обработка данных для данного предст. пользователя не разрешена. Можно, конечно, попробовать добавить запись через SQL, но хотелось бы это сделать встроенными средствами. Вот код:
Чего я не учел? -------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
|||
|
||||
| batigoal |
|
|||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 24 Всего: 151 |
Я вообще не много в этом понимаю, но все же: откуда ты берешь ResultSet? Я имею в виду конкретный запрос.
-------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
| <Spawn> |
|
||||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: нет Всего: 64 |
В вышеприведенном коде строчка № 4:
resultSet объявлен полем текущего класса как
-------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
||||
|
|||||
| batigoal |
|
|||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 24 Всего: 151 |
Это понятно. Я имел в виду - может, там идет вставка во view без триггера на insert, или еще куда-нибудь, куда принципиально вставлять нельзя.
-------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
| <Spawn> |
|
|||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: нет Всего: 64 |
Хм, запрос выглядит так:
На before insert таблицы висит триггер с генерацией первичного ключа из соответствующей sequence. -------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
|||
|
||||
| batigoal |
|
|||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 24 Всего: 151 |
Может, дело в ORDER BY? Можно ли вставлять в упорядоченный набор?
-------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
| <Spawn> |
|
|||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: нет Всего: 64 |
А вот этого я не знаю - сам первый раз работаю с JDBC. У меня подозрение, что обновление должно идти по rowid записи, тогда совершенно не важно есть сортировка или нет ее. Тем более, что тут по идее должен сработать скрытый INSERT - там тоже сортировка не имеет ни какого значения.
-------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
|||
|
||||
| batigoal |
|
|||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 24 Всего: 151 |
Да, но ведь тут вставка идет не в таблицу, а в resultSet, для которого сортировка важна.
Впрочем, может, мы и не в ту сторону копаем. -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
|||
|
||||
| <Spawn> |
|
|||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: нет Всего: 64 |
Разве в ResultSet? Мне казалось, что метод insertRow() производит физическую вставку записи, тем более что ошибка то от Oracle приходит! По идее в ResultSet осуществляется вставка методами moveToInsertRow() + updateXXX(). Хотя может я не прав... но если сравнивать с Дельфовым TDataSet, то там метод post приводит к вставке данных в таблицу СУБД.
-------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
|||
|
||||
| batigoal |
|
||||
![]() Нелетучий Мыш ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 6423 Регистрация: 28.12.2004 Где: Санктъ-Петербургъ Репутация: 24 Всего: 151 |
Вот что говорит дока:
То есть вставка идет и туда, и туда. Добавлено @ 12:30 Тут еще есть пример, но вроде он от твоего не отличается: http://javaalmanac.com/egs/java.sql/InsertRow.html Попробуй все-таки временно убрать ORDER BY. Добавлено @ 12:32 Вот еще цитата:
Вроде тоже соблюдено... Добавлено @ 12:37 И вот здесь еще обсуждли ту же проблему, но решение так и не нашли: http://archives.java.sun.com/cgi-bin/wa?A2...;D=0&P=8951 -------------------- "Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли) ЖоржЖЖ |
||||
|
|||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
1. Версия базы и драйверов?
2. У Oracle VIEW-ра в которых используется ORDER BY, являются необновляемыми. Возможно именно этот эффект мы тут и наблюдаем, надо поподробней глянуть. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
| skif18 |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 358 Регистрация: 17.5.2007 Где: Молдова, Кишинев Репутация: нет Всего: 1 |
Скорее всего так и есть. Надо с доками Оракла проконсультироваться. -------------------- |
|||
|
||||
| LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
skif18, давай ты не будешь поднимать темы в которых последнему сообщению уже больше года (если у тебя конечно нет полного ответа на вопрос, в котором 100% уверен). Потому как автор давно уже забыл про этот топик, и вопрос им так или иначе решен.
-------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
![]()
|
| Правила форума "Java" | |
|
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |