Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Параллелизация / 9 сообщений из 9, страница 1 из 1
30.11.2009, 14:01
    #36338903
beaver123
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параллелизация
Добрый день, мужики, выручайте.
Есть курсор, плана:

DECLARE CUR_1 CURSOR WITH HOLD FOR
SELECT
TABLE.NAME
FROM
TABLENAME TABLE
WHERE
TABLE.INDEX > 10
FOR FETCH ONLY WITH RS

OPEN CUR_1

И есть приложение. Которое читает эти записи. приложение может запускаться с нескольких компов одновременно.
Вопрос. Как мне лочить записи для SELECT’а. Тоесть, если курсор находиться на строчке, он ее лочит и держит до конца работы приложения.

Я пробовал икраться с WITH {RS CS RR UR} но это не то, приложение либо ждет когда отработает одно либо берет зепись которая только что бралась.

что делать не знаю. Блокировка для меня новое. Выручайте. Спасибо.
...
Рейтинг: 0 / 0
30.11.2009, 14:09
    #36338931
Andrey1234
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параллелизация
в догонку.
Или просто как пропускать залоченые записи...??
...
Рейтинг: 0 / 0
30.11.2009, 14:38
    #36339030
Mark Barinstein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параллелизация
Добрый день.
beaver123Как мне лочить записи для SELECT’а. Тоесть, если курсор находиться на строчке, он ее лочит и держит до конца работы приложения.До конца транзакции можно, а не до конца работы приложения.

1. Лочить все строки сразу (при OPEN CUR_1) можно, добавив в конец 'USE AND KEEP UPDATE LOCKS'
2. Лочить последовательно по мере FETCH CUR_1 можно, заменив 'FETCH ONLY' на 'UPDATE'.
...
Рейтинг: 0 / 0
30.11.2009, 14:41
    #36339044
Andrey1234
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параллелизация
А как быть с deadlock?? можно как то пропускать лоченые записи и переходить к следуйщей?
...
Рейтинг: 0 / 0
30.11.2009, 14:44
    #36339057
Andrey1234
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параллелизация
Mark BarinsteinДобрый день.
beaver123Как мне лочить записи для SELECT’а. Тоесть, если курсор находиться на строчке, он ее лочит и держит до конца работы приложения.До конца транзакции можно, а не до конца работы приложения.

1. Лочить все строки сразу (при OPEN CUR_1) можно, добавив в конец 'USE AND KEEP UPDATE LOCKS'
2. Лочить последовательно по мере FETCH CUR_1 можно, заменив 'FETCH ONLY' на 'UPDATE'.

дописал у курсора FOR UPDATE OF TABLE.NAME WITH RS - ошибка. что не так?
...
Рейтинг: 0 / 0
30.11.2009, 15:02
    #36339139
Andrey1234
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параллелизация
Andrey1234Mark BarinsteinДобрый день.
beaver123Как мне лочить записи для SELECT’а. Тоесть, если курсор находиться на строчке, он ее лочит и держит до конца работы приложения.До конца транзакции можно, а не до конца работы приложения.

1. Лочить все строки сразу (при OPEN CUR_1) можно, добавив в конец 'USE AND KEEP UPDATE LOCKS'
2. Лочить последовательно по мере FETCH CUR_1 можно, заменив 'FETCH ONLY' на 'UPDATE'.

дописал у курсора FOR UPDATE OF TABLE.NAME WITH RS - ошибка. что не так?

сории работает, но проблема остаться преложение все равно зависает и ждет пока освобобятся записи. как пропускать лоченные записи?
...
Рейтинг: 0 / 0
30.11.2009, 17:52
    #36339571
xz321
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параллелизация
Версия DB2?
...
Рейтинг: 0 / 0
30.11.2009, 18:03
    #36339592
Andrey1234
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параллелизация
xz321,

восьмая. точнее 8.1.11
...
Рейтинг: 0 / 0
30.11.2009, 19:55
    #36339731
чя321
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Параллелизация
Тогда описывай задачу.
...
Рейтинг: 0 / 0
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Параллелизация / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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