powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / INSERT with TABLOCKX
7 сообщений из 7, страница 1 из 1
INSERT with TABLOCKX
    #36457050
nfi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день всем! Старая история с новыми проблемами. Перехожу с PB9 (Ent) на PB11.5 (Prof), MS SQL 2005, ODBC. Не работает конструкция

sqlca.AutoCommit = FALSE
INSERT INTO Customer WITH (TABLOCK) (name, personType) VALUES (:ls_fullname, :li_type);
IF sqlca.SqlCode = 0 THEN
SELECT Max(personID) INTO :ll_personid FROM Customer;
COMMIT;
else
ROLLBACK;
end if
sqlca.AutoCommit = True

Приложение зависает на команде "INSERT", таблица не блокируется.
Может, кто-нибудь сталкивался с такой бедой? Спасибо
...
Рейтинг: 0 / 0
INSERT with TABLOCKX
    #36457248
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1. AutoCommit лучше установить в true.
2. Кто-нибудь еще с этой базой работает?
3. Покажите что видно в Profiler'е.
...
Рейтинг: 0 / 0
INSERT with TABLOCKX
    #36457269
nfi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Profiler на SQL :
set implicit_transactions on
SET FMTONLY ON select * from Customer where 1=2 SET FMTONLY OFF

В DBTRACE.LOG:
(a3a0c10): BEGIN TRANSACTION:(DBI_START_TRAN) (117.434 MS)
(a3a0c10): (DBI_SPECIAL_DECIMAL) (117.435 MS)
(a3a0c10): (DBI_SPECIAL_DOUBLE) (117.435 MS)
(a3a0c10): PREPARE WITH BIND VARIABLES:
(a3a0c10): INSERT Customer WITH ( TABLOCK ) ( name , personType ) VALUES ( ? , ? )
(a3a0c10): VCHAR Length=52 ID=? *Носкова Надежда Филипповна*
(a3a0c10): INT Length=0 ID=? (DBI_PREPARE_WITHPARM)
...
Рейтинг: 0 / 0
INSERT with TABLOCKX
    #36457276
nfi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Других соединений с базой нет
...
Рейтинг: 0 / 0
INSERT with TABLOCKX
    #36457494
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В profiler'е это
SET FMTONLY ON select * from Customer where 1=2 SET FMTONLY OFF
statment complete?
Если да, то поставьте большую детализацию событий в pofiler'е (из приведенного не ясно начала ли только исполняться инструкция или уже исполнилась). Попробуйте в PBParm транзакции поставить DisableBind=1.
...
Рейтинг: 0 / 0
INSERT with TABLOCKX
    #36457770
nfi
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добавила DisableBind=1, заработала команда. Мне непонятно, почему этот параметр помог, надо разбираться. Марк, спасибо большое за помощь. Боюсь, что пока я перейду с Native Driver на ODBC, еще не раз обращусь к вам за помощью
...
Рейтинг: 0 / 0
INSERT with TABLOCKX
    #36457874
Локшин Марк
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
nfiДобавила DisableBind=1, заработала команда. Мне непонятно, почему этот параметр помог, надо разбираться.
Либо у Вас там где-то блокировки (обратите внимание, не открывает ли PB второе подключение), либо все зависает в самом PB. А DisableBind меняет способ генерации SQL кода и все то, что в логе у Вас приведено не генерируется.
Кстати, если AutoCommit установить в true, то транзакцию начинать и заканчивать нужно явно.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / INSERT with TABLOCKX
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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