Конференция "Базы" » Выбор базы данных [D7, access]
 
  • yurikon (15.09.10 13:59) [0]
    Добрый день!

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

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

    Заранее спасибо.
  • Anatoly Podgoretsky © (15.09.10 14:05) [1]
    > yurikon  (15.09.2010 13:59:00)  [0]

    На MSSQL, кстати неплохо интегрируется с Акцесс.
  • Sergey13 © (15.09.10 14:06) [2]
    FireBird.
    Но сначала я бы поразбирался с проектированием БД. Повесить и Оракл не сложно.
  • yurikon (16.09.10 11:09) [3]
    Спасибо, за советы.

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

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

    С уважением, Юрий.
  • Sergey13 © (16.09.10 12:09) [4]
    > [3] yurikon   (16.09.10 11:09)

    У тебя я так понял однопользовательская система. Т.е. все изменения делает твоя программа. Значит она и должна знать - изменила она что то или нет.
  • Anatoly Podgoretsky © (16.09.10 12:15) [5]
    > yurikon  (16.09.2010 11:09:03)  [3]

    Можно но только в Акцессе с помощью VBA
  • Anatoly Podgoretsky © (16.09.10 12:24) [6]

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

    В MSSQL можно и триггер для этого не требуется, там есть специальный тип для изменений TIMESTAMP
  • yurikon (16.09.10 14:25) [7]
    База внешняя, в таблице со временем добавляются строки. Сейчас, чтобы узнать, появилась новая строка ли нет, приходится переоткрывать таблицу или запрос. Тут акцесс уже есть и его поменять никак.

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

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

    С уважением, Юрий.
  • Anatoly Podgoretsky © (16.09.10 16:29) [8]
    > yurikon  (16.09.2010 14:25:07)  [7]

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

    От этого одни хрен никуда не уйдешь по большому счету. Остается оптимизировать переоткрываемый запрос.
  • yurikon (16.09.10 17:28) [10]
    Позвольте еще один вопрос по работе с базами в дельфи, хотя он уже не в тему топика.

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

    Например:

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

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

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

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

    С уважением.
 
Конференция "Базы" » Выбор базы данных [D7, access]
Есть новые Нет новых   [134431   +16][b:0][p:0]