![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вопрос по компонентам ADO [D5, MSSQL]
boa © (2002-10-30 12:45:00)С компонентами ADO работаю недавно, так что не судите строго.
Ситуация в следующем : Закидываю данные в таблицы для мониторинга. Процедура может быть продолжительной. Дык вот, в то время, когда выполняется процедура заполнения, запрос в мониторинге висит до тех пор, пока обработка не закончится. В программе перекачки данных использую ADOTable, установил CacheSize больше чем достаточно. Использую ADOConnection.BeginTrans … CommitTrans. Чего еще надо – не знаю.
Помогите пожалуйста советом!
P.S. Нужно что бы запрос на выборку данных в мониторинге выбирал прокоммиченные данные без всяких тормозов, невзирая на то что заливаю я данные или нет.
boa (2002-10-31 12:42:00) [1]Нашел я как решить проблемму - нужно в ADOTable.LockType установить ltBatchOptimistic.
boa (2002-10-31 06:05:00) [2]Спасите-е-е-е-е-е! Помогите-е-е-е-е-е!
boa (2002-10-30 15:01:00) [3]Данные у меня и так находятся в таблицах только в Oracle, и по этому Stored Procedure не пойдет.
Кстати с Oracle у меня ни когда таких проблем небыло, но для работы с ним я использую DOA. И если я использую там кеш то все работает человечно. А с ADO я не могу понять в чем прикол в использовании CacheSize - результат один и тот же.
Димон111 (2002-10-30 13:55:00) [4]Может стоит заливать данные во временную таблицу, а потом с помощью Stored Procedure быстренько их переносить в основную таблицу. Транзакция будет открыта значительно меньше времени.
boa (2002-10-30 13:26:00) [5]Но я заливаю в несколько связанных таблиц и добавления мне нужны или в о всех таблицах или не в одной.
asmith (2002-10-30 12:58:00) [6]Видимо, запрос в мониторинге висит именно из-за того, что данные заливаются в контексте транзакции, да еще через ADOTable. Нужно подумать серьезно, нужно ли здесь управление транзакциями на стороне клиента.