powered by simpleCommunicator - 2.0.57     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Дублирование строчек при чтении из таблицы через jConnect 7.0
5 сообщений из 5, страница 1 из 1
Дублирование строчек при чтении из таблицы через jConnect 7.0
    #37056895
jubba2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток!

Есть программа на java (агент ODI), которая выбирает строчки из большой таблицы (select * from table1), и поштучно вставляет их в другую таблицу (на Oracle, но это неважно).

Возникает ситуация, когда одни и те же строчки выбираются повторно. Есть подозрение, что такое возникает, когда выбираемые селектом строки меняются другими пользователями во время выборки. Т.е. программа считывает строчку, еще кучу. Потом строка меняется, и он возвращается в SELECT-е еще раз.

Кто-нибуть сталкивался с таким поведением и как это победить?

Sybase ASE 15.0.2, jConnect 7.00(Build 26502), JDK 6.0.0.18 (64 bit), AIX 5.3.12
...
Рейтинг: 0 / 0
Дублирование строчек при чтении из таблицы через jConnect 7.0
    #37057485
White Owl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Включить как минимум первый уровень изоляции.
Либо добавить в select опцию at isolation: http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.infocenter.dc00938.1502/html/locking/locking105.htm
...
Рейтинг: 0 / 0
Дублирование строчек при чтении из таблицы через jConnect 7.0
    #37058280
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 13.01.2011 18:00, White Owl wrote:

> Включить как минимум первый уровень изоляции.
> Либо добавить в select опцию at isolation:

Первый не поможет. Это по идее фантомы, и они устраняются
только на самом высшем уровне изоляции (SERIALIZABLE).
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Дублирование строчек при чтении из таблицы через jConnect 7.0
    #37058282
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On 13.01.2011 15:14, jubba2001 wrote:

> Кто-нибуть сталкивался с таким поведением и как это победить?

Такое МОЖЕТ БЫТЬ.

Давай Таблицы, запрос, уровень изоляции транзакции.

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Дублирование строчек при чтении из таблицы через jConnect 7.0
    #37067757
jubba2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Таки да, на уровнях изоляции транзакций 0 и 1, при изменении строки, она повторно попадает в результат селекта. Отсюда были и дубли. Можно победить использованием at isolation 2|3, но при больших объемах возникает огромное кол-во блокировок.

Когда я это понял, вернулся на уровень 1, и использовал это поведение как фичу: добавил TIMESTAMP записи, и выбираю только последние.

Всем спасибо!
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Sybase ASA, ASE, IQ [игнор отключен] [закрыт для гостей] / Дублирование строчек при чтении из таблицы через jConnect 7.0
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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