Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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]

мазохизм


Наверх

Титульная страница Поиск, карта сайта Написать письмо