Форум: "Базы";
Текущий архив: 2004.09.19;
Скачать: [xml.tar.bz2];
ВнизКонфликты транзакций Найти похожие ветки
← →
Desperado © (2004-08-23 15:36) [0]Я разрабатываю распределенную бд в мидасе.
К одной таблице имеют доступ несколько компонентов query с разными транзакциями. Возникает ошибка
Dynamic SQL error. error code = -502. Declared cursor already
exists. Я так понял, что возник конфликт транзакций.
Какие параметры надо поставить у транзакций, чтобы они не конфликтовали? Конфликта как такового быть не должно.
← →
s999 (2004-08-23 15:42) [1]Сервер IB? Компоненты доступа IBX?
Если так, то это не конфликт, а баг в старой версии IBX. Лечение:
обновить версию IBX, если это невозможно, то workaround - добавить где-нибудь при инициализации Randomize;
← →
Digitman © (2004-08-23 16:26) [2]
> Declared cursor already
> exists. Я так понял, что возник конфликт транзакций
любопытное умозаключение ... буржуйская фраза переводится как "объявленный курсор набора данных уже существует", но в ней нет ни слова про транзакции ...
← →
Desperado © (2004-08-23 16:54) [3]To s999
Я использую Delphi5, компоненты с вкладки Interbase.
СУБД - Interbase 6.5
" если это невозможно, то workaround - добавить где-нибудь
при инициализации Randomize " - не понял.
To Digitman
Большое "спасибо" за перевод. Английский я тоже знаю, так что
Америку ты не открыл. Как понял, что из-за транзакций - перед вызовом оператора, в котором была ошибка, вызвал commit всех открытых транзакций.
p.s. Все набоы данных разные с разными транзакциями
← →
s999 (2004-08-23 17:05) [4]
> Я использую Delphi5, компоненты с вкладки Interbase.
> СУБД - Interbase 6.5
Ну вот, оно самое.
> добавить где-нибудь
> при инициализации Randomize " - не понял.
Просто добавь где-нибудь строчку, что непонятного то?
Но лучше обнови IBX(это - "компоненты с вкладки Interbase"), для D5 по-моему последняя версия это 5.04.
← →
Digitman © (2004-08-23 17:15) [5]
> вызвал commit всех открытых транзакций
при коммите НД закрываются, однако ..
← →
Desperado © (2004-08-23 17:24) [6]To s999
непонятно было что простая строчка randomize
решит проблемы. Но как ни удивительно - решила.
То Digiman
Расскажи как ты понимаешь эту ошибку и как предполагаешь с ней
бороться? Если это, действительно, из-за курсоров,
как ты говоришь.
← →
Digitman © (2004-08-24 08:17) [7]
> Desperado © (23.08.04 17:24) [6]
те станд.компоненты прямого доступа, которые ты используешь, имеют исх.тексты, ничто не мешает оттрассировать проблемный вызов и понять, кто, где и какой курсор пытается редекларировать
← →
s999 (2004-08-24 10:55) [8]
> непонятно было что простая строчка randomize
> решит проблемы. Но как ни удивительно - решила.
Да ничего удивительного, просто иллюстрация того, что генератор случайных чисел есть генератор ПСЕВДОслучайных чисел. И использовать его для получения уникального идентификатора надо с осторожностью.
Повторю, для нормальной работы, скачай последнюю версию IBX:
http://codecentral.borland.com/codecentral/ccweb.exe/author?authorid=102
← →
Desperado © (2004-08-25 08:22) [9]To digitman & s999
Большое вам спасибо.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.09.19;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.032 c