Главная страница
    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.46 MB
Время: 0.064 c
2-1333709191
Jimmy
2012-04-06 14:46
2013.03.22
Как избавится от мерцания?


15-1344801222
Jeer
2012-08-12 23:53
2013.03.22
Как молоды мы были...


2-1340279896
начинающий41
2012-06-21 15:58
2013.03.22
DbGrid


15-1351562934
Вепрь
2012-10-30 06:08
2013.03.22
UUID Компьютера.


2-1332945645
TKN
2012-03-28 18:40
2013.03.22
DataSet.Edit





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский