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

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

Выбор базы данных [D7, access]


yurikon ©   (2010-09-15 13:59:00) 

Добрый день!

При использовании акцесса и драйвера jet столкнулся с проблемой: при выполнении сложного запроса, в котором union`ом объединены 9 запросов, в свою очередь состоящих из 6 подзапросов - система грит, что недостаточно ресурсов. Если уменьшить до 8 - "слишком сложный вопрос", на 7 только запускается.

Прога написана с испольpованием  ADO. Подскажите, плиз, на что можно сменить акцесс, чтобы новая база:
1) оперировала со сложными запросами
2) поддерживала триггеры - щас этого не хватает жутко
3) при инсталяции моей проги не требовалось бы устанавливать куси других программ (серверов или еще что).

Заранее спасибо.


yurikon   (2010-09-16 17:28:00) [1]

Позвольте еще один вопрос по работе с базами в дельфи, хотя он уже не в тему топика.

Сейчас я использую TADOQuery для выполнения запросов. Как мне из одного запроса сделать ссылку на другой?

Например:

SELECT *
FROM <другой запрос>

Сейчас я делаю так:

'SELECT *
FROM (' + Query1.SQL.Text +  '  )'

как-то криво это. Да и запрос лишний раз выполняется, если он уже открыт.

С уважением.


Sergey13   (2010-09-16 16:36:00) [2]

> [7] yurikon   (16.09.10 14:25)
> Сейчас, чтобы узнать, появилась новая строка ли нет, приходится
> переоткрывать таблицу или запрос.

От этого одни хрен никуда не уйдешь по большому счету. Остается оптимизировать переоткрываемый запрос.


Anatoly Podgoretsky   (2010-09-16 16:29:00) [3]

> yurikon  (16.09.2010 14:25:07)  [7]

Нет


yurikon   (2010-09-16 14:25:00) [4]

База внешняя, в таблице со временем добавляются строки. Сейчас, чтобы узнать, появилась новая строка ли нет, приходится переоткрывать таблицу или запрос. Тут акцесс уже есть и его поменять никак.

Есть еще внутренняя база, в нее тоже по одбс идет инфа из вне. Вот ее тип я могу выбирать.

А есть у базы в акцессе  как у файла время последнего изменения?

С уважением, Юрий.


Anatoly Podgoretsky   (2010-09-16 12:24:00) [5]


> Можно ли в акцессе реализовать нечто похожее на триггер
> - как узнать из делфи, изменилась ли таблица

В MSSQL можно и триггер для этого не требуется, там есть специальный тип для изменений TIMESTAMP


Anatoly Podgoretsky   (2010-09-16 12:15:00) [6]

> yurikon  (16.09.2010 11:09:03)  [3]

Можно но только в Акцессе с помощью VBA


Sergey13   (2010-09-16 12:09:00) [7]

> [3] yurikon   (16.09.10 11:09)

У тебя я так понял однопользовательская система. Т.е. все изменения делает твоя программа. Значит она и должна знать - изменила она что то или нет.


yurikon   (2010-09-16 11:09:00) [8]

Спасибо, за советы.

Разгрузил запрос, вынеся часть столбцов в вычисляемые поля.

Подскажите плиз еще момент. Можно ли в акцессе реализовать нечто похожее на триггер - как узнать из делфи, изменилась ли таблица, не переоткрывая ее? Может есть какие то флаги, типа время последнего изменения.

С уважением, Юрий.


Sergey13   (2010-09-15 14:06:00) [9]

FireBird.
Но сначала я бы поразбирался с проектированием БД. Повесить и Оракл не сложно.


Anatoly Podgoretsky   (2010-09-15 14:05:00) [10]

> yurikon  (15.09.2010 13:59:00)  [0]

На MSSQL, кстати неплохо интегрируется с Акцесс.


Наверх

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