![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
ADO+MS Access [D7, WinXP]
з. танька © (2006-01-14 20:49:00)привет!
пробовала сабж.. довольно глючная штука. частенько база не успевает обновиться между командами ExecSQL... то есть если один запрос изменяет таблицу, а следующий сразу за ним - берет оттуда данные.. берутся старые данные. при этом визуально можно наблюдать процесс добавления записи в Access'е.. где-то в течение пары секунд после выполнения запроса в программе. Для начала повесила всю работу с базой на один кверик.. стало лучше, но ошибки просто начали появляться реже. Теперь приходится вертеться в репите и проверять, добавилась новая запись или нет, а потом уже приступать к следующему запросу. КАк-то стремно.. да и код раздувается..
может шо нетак делаю? в чем источник проблемы может заключаться?
evvcom (2006-01-16 13:34:00) [1]
> перерасчет индексов и т.д. и соответсвенно перекраивается
> весь файл - отсюда загруженность сетки
А сетка тут причем? Индексы, что у тебя клиент перекраивает или они лежат на другой тачке?
msguns (2006-01-16 13:07:00) [2]>Fay © (16.01.06 12:08) [8]
>Я нарвался на эту бяку как раз когда писал в этом Access без всяких Delphi.
Многие "бяки" испаряются, стоит только повнимательнее отнестись к причинам их появления.
У меня тоже сперва было много "почуттив" при работе с Акцесом, в т.ч. и перечисленные в сабже. А потом я сказал себе "Сигизмунд, а не дурак ли ты ?", кинул программинг и тупо подсел не хелп. В смысле проштудировал весь дельфишный хэлп по АДО плюс прочитал все по самому акцесу. Для вящей убедительности еще попотрошил дурнет и высек оттуда несколько совсем небесполезных статеек по акцесу и АДО. В частности по использованию транзакций.
Потом просто поправил свои проект. И все стало вдруг пушисто-шоколадным ;)
Lost_Delpher (2006-01-16 12:55:00) [3]если работаешь с локалкой - нужно учитывать много факторов :
- загруженность сети,
- мощность компа,
- структуру базы
т.к. например придобавлении происходит перерасчет индексов и т.д. и соответсвенно перекраивается весь файл - отсюда загруженность сетки, плюс еще и перекраивание происходит на клиентской машине и блокировки других клиентов тоже тормозят.
лучше поставь MSDE
sniknik (2006-01-16 12:20:00) [4]Fay © (16.01.06 12:04) [6]
> 2 sniknik © (16.01.06 11:59) [4]
> В смысле?
это ты скажи, что значит "заявлена как синхронная", если синхронное/асинхронное выполнение ее определяется параметром.
msguns © (16.01.06 12:04) [7]
> 1. Вся "тормознутость" и "глючность" акцеса исключительно от кривизны рук и нехватки извилин мозгов.
на 156% верно!!!
Fay © (16.01.06 12:08) [8]
> Угу, но часть этих рук и мозгов принадлежит программистам из MS
думаю ты слишком пристально вдаль смотриш..., осмотрись вокруг сначала.
Fay (2006-01-16 12:08:00) [5]2 msguns © (16.01.06 12:04) [7]
> Использовать "родные" компоненты.
Я нарвался на эту бяку как раз когда писал в этом Access без всяких Delphi.
> Это локальная БД
Но SQL-то понимать должна?
> Вся "тормознутость" и "глючность" акцеса исключительно от кривизны
> рук и нехватки извилин мозгов.
Угу, но часть этих рук и мозгов принадлежит программистам из MS
Fay (2006-01-16 12:04:00) [6]2 sniknik © (16.01.06 11:59) [4]
В смысле?
msguns (2006-01-16 12:04:00) [7]Ребята, может прежде чем ругать лыжи, сначала попробовать кататься на них по снегу ?
1. Вся "тормознутость" и "глючность" акцеса исключительно от кривизны рук и нехватки извилин мозгов.
2. Это локальнаяБД и не надо пытаться требовать от нее сиквель-серверной функциональности (на лыжах по асфальту). Можно написать вполне работающие на сети приложения, но используя при этом трехзвенку или технологию "один пишет-все читают".
3. Использовать "родные" компоненты.
sniknik (2006-01-16 12:03:00) [8]Fay © (16.01.06 11:59) [3]
> ExecSQL заявлена как синхронная, ...
кем заявлена? вообще это зависит (должно) от ExecuteOptions... но так как не пользуюсь ADOQuery-ми то соответственно могу ошибатся (может глюк в реализации и есть, но и вопросов по этому поводу не встречал)
Fay (2006-01-16 11:59:00) [9]2 з. танька (14.01.06 20:49)
ExecSQL заявлена как синхронная, но это не совсем правда. Лекарства не знаю, хотя долго искал. С тех пор Access не использую совсем 8).
sniknik (2006-01-16 11:59:00) [10]> в чем источник проблемы может заключаться?
в неиспользовании ADOConnection
Дудель (2006-01-16 11:29:00) [11]Трансзакции?
VirEx (2006-01-14 23:33:00) [12]мазохизм