![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Выбор базы данных [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, кстати неплохо интегрируется с Акцесс.