| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > По базам данных |
| Автор: zuber 28.6.2002, 06:42 |
| 1. При закрытии Database Desktop всегда вываливается сообщение об ошибке: Unexpected: General Protection Violation. 2. Как можно быстро открыть большие dbf таблицы (20-30Мb)? Обычно этот процесс занимает до 10 секунд. Знаю, что существует более быстрый способ, но так и не смог его найти |
| Автор: Vit 28.6.2002, 14:15 |
| 1) Переустановить BDE 2) - Не использовать TTable, TADOTable для работы с таблицей - все делать через TQuery, TADOQuery и никогда не кверить всю таблицу (т.е. не писать "select * from myTable") - кверить только те данные которые нужны, во всех квери ставить жесткие условия выбора записей. - Создать нужные индексы - Для таблиц такого размера целесообразен переход на какой-нибудь сервер баз данных, например MS SQL Server |
| Автор: zuber 28.6.2002, 14:44 |
| 1. Всё свеже установленное. Может быть существуют настройки в BDE? 2. А как же в DatabaseDesktop'е моментально открываются те же самые таблицы? |
| Автор: Vit 28.6.2002, 15:40 |
| 1) Никакие настройки не помогут. Где-то серьезный конфликт 2) Десктоп открывает не всю таблицу, а "выкверяет" данные по мере надобности, т.е. то что ты в данный момент видишь на экране. Для этого можно использовать либо query либо асинхронный доступ - т.е. когда данные появляются сразу, а не ждется до их полного получения, но программировать ассинхронный доступ достаточно сложная работа, надо все время проверять текущий статус операции и следить чтобы вновь приходящие события не конфликтовали с текущими процессами. |