Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.02.26;
Скачать: CL | DM;

Вниз

Глючат запросы!!!   Найти похожие ветки 

 
Святослав ©   (2006-02-13 01:26) [0]

Есть текстовый, из него быстро выбираются данные и делаются SQL запросы (типа обновить, вставить) с компоненом TQuyre !!! 800 запросов проходит успешно 801 вылетает!!! каждый раз разные системные ошибки!!!
У меня подозрение что каждый запрос идет независимым процессом, в итоге происходит что-то типа переполнение стека!
Вопрос: можно узнать, готова ли BDE принимать запросы?
Если я не прав, объясните пожалуйста механизм обработки  SQL запросов в BDE


 
atruhin ©   (2006-02-13 04:00) [1]

Попробуй после каждой сотни запросов сделать COMMIT


 
Vlad ©   (2006-02-13 09:03) [2]


> atruhin ©   (13.02.06 04:00) [1]
> Попробуй после каждой сотни запросов сделать COMMIT


А разве Paradox поддерживает транзакции? :-)


 
SkyRanger ©   (2006-02-13 09:06) [3]

Ну коммит ему поможет если он открывал транзакцию, а так по идее все должно работать... Попробуй просто с помощью компонента таймера ограничить количество запросов. Скорее всего BDE захлебывается данными... Хотя я могу быть и не прав...


 
Desdechado ©   (2006-02-13 12:46) [4]

> каждый раз разные системные ошибки!!!
список ошибок в студию

> подозрение что каждый запрос идет независимым процессом
если явноне стартовал транзакцию, то один запрос - одна транзакция


 
msguns ©   (2006-02-13 13:04) [5]

В парадоксе нет транзакций. При большом количестве изменений может быть переполнение таблиц блокировок (*.lck). "Лечится" закрытием БД и открытием по новому.

>Вопрос: можно узнать, готова ли BDE принимать запросы?

 Она всегда готова принимать "запросы". А вот готов ли принимать их "сервер" - это вопрос

>Если я не прав, объясните пожалуйста механизм обработки  SQL запросов в BDE

 В BDE есть механизм обработки сиквель-запросов, но нет механизма выполнения их. "Механизм" заключается в том, что текст запроса проверяется на "политкорректность" стандарту SQL (Local SQL в понимании BDE) и  либо передается ядру для непосредственного доступа к "родным" форматам (dBase,Paradox), либо интерпретируется в SQL "чужого" формата и передается соответствующим библиотекам поддержки собственно "чужих" серверов для непосредственного исполнения SQL-серверами.

Что касется парадокса, то из-за отсутствия централизованного аппарата доступа в данным (сервера) "синхронизация" доступа выполняется через рабочие файлы: *.net (синхронизация пользователей), *.lck (синхронизация таблиц). Такой механизм, естественно, ничего "не знает" о транзакциях и их воздействиии друг на друга. Поэтому для создния более-менее ответственных многопользовательских БД либо разрабатывают трехзвенки с сохранением собственно формата, либо переходят на более надежные и функциональные агрегаты типа Interbase, MSSQL, Oracle..


 
Святослав ©   (2006-02-13 13:11) [6]

Всем СПАСИБО!!!
Теперь ясно что делать дальше…



Страницы: 1 вся ветка

Текущий архив: 2006.02.26;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.051 c
2-1139302089
Виталька2006
2006-02-07 11:48
2006.02.26
Массив неизвестной длины


3-1136286352
greg123
2006-01-03 14:05
2006.02.26
чем отличаются FireBird, IB, Yaffil


6-1131830669
Volf_555
2005-11-13 00:24
2006.02.26
Как получить текст строки состояния активного окна?


4-1134143451
Volf_555
2005-12-09 18:50
2006.02.26
Как нормально следить за счётчиком!?


2-1138874187
Juice
2006-02-02 12:56
2006.02.26
Rave Reports, проблемы с кириллицей