Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2013.03.22;
Скачать: CL | DM;

Вниз

Выбор базы данных   Найти похожие ветки 

 
yurikon   (2010-09-15 13:59) [0]

Добрый день!

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

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

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


 
Anatoly Podgoretsky ©   (2010-09-15 14:05) [1]

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

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


 
Sergey13 ©   (2010-09-15 14:06) [2]

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


 
yurikon   (2010-09-16 11:09) [3]

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

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

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

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


 
Sergey13 ©   (2010-09-16 12:09) [4]

> [3] yurikon   (16.09.10 11:09)

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


 
Anatoly Podgoretsky ©   (2010-09-16 12:15) [5]

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

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


 
Anatoly Podgoretsky ©   (2010-09-16 12:24) [6]


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

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


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

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

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

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

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


 
Anatoly Podgoretsky ©   (2010-09-16 16:29) [8]

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

Нет


 
Sergey13 ©   (2010-09-16 16:36) [9]

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

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


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

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

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

Например:

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

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

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

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

С уважением.



Страницы: 1 вся ветка

Текущий архив: 2013.03.22;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.049 c
15-1328646602
Юрий
2012-02-08 00:30
2013.03.22
С днем рождения ! 8 февраля 2012 среда


2-1347962879
KSergey
2012-09-18 14:07
2013.03.22
Реализация в Delphi массива array[0..10] of array of ...


2-1334691033
Новичок
2012-04-17 23:30
2013.03.22
Сканер штрих-кодов


2-1340008979
webpauk
2012-06-18 12:42
2013.03.22
как впихнуть в ImageList иконку нестандартного размера


15-1338590317
М
2012-06-02 02:38
2013.03.22
Как лучше оформить строку аттрибутов?