Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2013.03.22;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.06 c
15-1328345338
Rouse_
2012-02-04 12:48
2013.03.22
Засоветуйте WiFi роутер


1-1298958590
KMSTR
2011-03-01 08:49
2013.03.22
Ошибка отображения выключенных кнопок Toolbar


15-1335362406
wl
2012-04-25 18:00
2013.03.22
подскажите, я могу прийти в больницу не по месту жительства?


15-1341007816
vasa777
2012-06-30 02:10
2013.03.22
0-Core


15-1329391977
поверфулл
2012-02-16 15:32
2013.03.22
JavaScript и я





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский