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

Вниз

Insufficient memory for this operation   Найти похожие ветки 

 
dest   (2006-12-11 13:15) [0]

Такой запрос при запуске программы из Delphi выполняется нормально. После формируется по этому кваери отчетная форма.
Но если автономно запустить екзешник, вываливает на Exception.
Если exception убрать, ошибки опять нет.
Но иногда вываливает на нечто подобное:
Insufficient memory for this operation.
File or directory does not exist.
File: D:\DISTR\~my\___Teplosbit\WinABR~ap\_QSQL000.DBF
Table does not exist.


Он что, слишком сложен для BDE? Есть возможность его упростить?


 
dest   (2006-12-11 13:16) [1]

select * from ABR0711.DBF
where
((MG = "1")and(NA = "1"))or
((MG = "1")and(NA = "5"))or
((MG = "1")and(NA = "7"))or
((MG = "1")and(NA = "9"))or
((MG = "1")and(NA = "16"))or
((MG = "1")and(NA = "22"))or
((MG = "1")and(NA = "24"))or
((MG = "1")and(NA = "26"))or
((MG = "1")and(NA = "28"))or
((MG = "1")and(NA = "33"))or
((MG = "1")and(NA = "44"))or
((MG = "1")and(NA = "45"))or
((MG = "1")and(NA = "50"))or
((MG = "2")and(NA = "3"))or
((MG = "2")and(NA = "4"))or
((MG = "2")and(NA = "9"))or
((MG = "2")and(NA = "10"))or
((MG = "2")and(NA = "11"))or
((MG = "2")and(NA = "14"))or
((MG = "2")and(NA = "15"))or
((MG = "2")and(NA = "16"))or
((MG = "2")and(NA = "17"))or
((MG = "2")and(NA = "20"))or
((MG = "2")and(NA = "21"))or
((MG = "2")and(NA = "22"))or
((MG = "2")and(NA = "24"))or
((MG = "2")and(NA = "25"))or
((MG = "2")and(NA = "27"))or
((MG = "2")and(NA = "28"))or
((MG = "2")and(NA = "32"))or
((MG = "2")and(NA = "34"))or
((MG = "2")and(NA = "37"))or
((MG = "2")and(NA = "39"))or


 
dest   (2006-12-11 13:17) [2]


((MG = "2")and(NA = "41"))or
((MG = "2")and(NA = "43"))or
((MG = "2")and(NA = "47"))or
((MG = "2")and(NA = "49"))or
((MG = "2")and(NA = "54"))or
((MG = "2")and(NA = "56"))or
((MG = "2")and(NA = "57"))or
((MG = "2")and(NA = "60"))or
((MG = "2")and(NA = "61"))or
((MG = "2")and(NA = "64"))or
((MG = "2")and(NA = "65"))or
((MG = "2")and(NA = "66"))or
((MG = "2")and(NA = "68"))or
((MG = "2")and(NA = "71"))or
((MG = "2")and(NA = "76"))or
((MG = "2")and(NA = "81"))or
((MG = "2")and(NA = "82"))or
((MG = "2")and(NA = "85"))or
((MG = "2")and(NA = "90"))or
((MG = "2")and(NA = "91"))or
((MG = "2")and(NA = "92"))or
((MG = "2")and(NA = "99"))or
((MG = "2")and(NA = "100"))or
((MG = "2")and(NA = "101"))or
((MG = "2")and(NA = "103"))or
((MG = "2")and(NA = "108"))or
((MG = "2")and(NA = "110"))or
((MG = "3")and(NA = "2"))or
((MG = "3")and(NA = "14"))or
((MG = "3")and(NA = "15"))or
((MG = "3")and(NA = "18"))or
((MG = "3")and(NA = "19"))or
((MG = "3")and(NA = "20"))or
((MG = "3")and(NA = "28"))or
((MG = "4")and(NA = "1"))or
((MG = "4")and(NA = "4"))or
((MG = "4")and(NA = "5"))or
((MG = "4")and(NA = "7"))or
((MG = "4")and(NA = "10"))or
((MG = "4")and(NA = "12"))or
((MG = "4")and(NA = "15"))or
((MG = "4")and(NA = "18"))or


 
dest   (2006-12-11 13:17) [3]


((MG = "5")and(NA = "6"))or
((MG = "5")and(NA = "14"))or
((MG = "5")and(NA = "17"))or
((MG = "5")and(NA = "27"))or
((MG = "5")and(NA = "29"))or
((MG = "5")and(NA = "33"))or
((MG = "5")and(NA = "41"))or
((MG = "5")and(NA = "65"))or
((MG = "5")and(NA = "77"))or
((MG = "6")and(NA = "3"))or
((MG = "6")and(NA = "9"))or
((MG = "6")and(NA = "15"))or
((MG = "6")and(NA = "16"))or
((MG = "6")and(NA = "18"))or
((MG = "6")and(NA = "19"))or
((MG = "6")and(NA = "44"))or
((MG = "6")and(NA = "46"))or
((MG = "7")and(NA = "1"))or
((MG = "7")and(NA = "20"))or
((MG = "7")and(NA = "24"))or
((MG = "7")and(NA = "27"))or
((MG = "7")and(NA = "28"))or
((MG = "7")and(NA = "31"))or
((MG = "7")and(NA = "62"))or
((MG = "8")and(NA = "4"))or
((MG = "8")and(NA = "5"))or
((MG = "8")and(NA = "8"))or
((MG = "8")and(NA = "9"))or
((MG = "8")and(NA = "14"))or
((MG = "8")and(NA = "17"))or
((MG = "8")and(NA = "18"))or
((MG = "8")and(NA = "19"))or
((MG = "8")and(NA = "26"))or
((MG = "8")and(NA = "27"))or
((MG = "8")and(NA = "38"))or
((MG = "9")and(NA = "1"))or
((MG = "9")and(NA = "5"))or
((MG = "9")and(NA = "6"))or
((MG = "9")and(NA = "7"))or
((MG = "9")and(NA = "15"))or
((MG = "9")and(NA = "19"))or
((MG = "9")and(NA = "24"))or
((MG = "9")and(NA = "26"))or
((MG = "9")and(NA = "28"))or
((MG = "9")and(NA = "34"))or
((MG = "9")and(NA = "36"))or
((MG = "9")and(NA = "41"))or
((MG = "10")and(NA = "6"))or
((MG = "10")and(NA = "9"))or
((MG = "10")and(NA = "14"))or
((MG = "10")and(NA = "17"))or
((MG = "10")and(NA = "25"))or
((MG = "10")and(NA = "32"))or
((MG = "10")and(NA = "33"))or
((MG = "10")and(NA = "35"))or
((MG = "10")and(NA = "36"))or
((MG = "10")and(NA = "40"))or


 
dest   (2006-12-11 13:17) [4]

Ну и так еще 660 раз..........


 
Sergey13 ©   (2006-12-11 13:20) [5]

> [4] dest   (11.12.06 13:17)
> Ну и так еще 660 раз..........

Упалпадстул.
Сори за лексикон.


 
Desdechado ©   (2006-12-11 13:22) [6]

результат получается слишком большой
не пиши такие запросы (стрелял бы за них) - ни по длине текста, ни по длине результата


 
ЮЮ ©   (2006-12-11 13:22) [7]


> Ну и так еще 660 раз..........


Надо 666 раз :)
Такое, боюсь и другие движки не потянут, не то что, БДЕ.

Если продумвнный выбор сделать действительно не возможно кроме как кликанья на пересечении MG и NA, то запиши рультаты этих кликаний во временную таблицу и соединяй её с данными


 
clickmaker ©   (2006-12-11 13:24) [8]


> Такое, боюсь и другие движки не потянут, не то что, БДЕ.

ну там можно between и in заюзать


 
clickmaker ©   (2006-12-11 13:25) [9]

Имхо, все это тянет на какой-то массив, где индекс - MG


 
ЮЮ ©   (2006-12-11 13:26) [10]

Речь идет о subj-евом запросе.
BETWEEN и IN и в LocalSql никто не отменял.


 
sniknik ©   (2006-12-11 13:26) [11]

> Он что, слишком сложен для BDE?
подобное быдет сложно для любого движка/sql сервера

> Есть возможность его упростить?
для mssql при больших списках условий рекомендуют создавать временную таблицу и строить запрос на сравнение с ней... быстрее работает.


 
ЮЮ ©   (2006-12-11 13:27) [12]


> Имхо, все это тянет на какой-то массив, где индекс - MG


на матрицу


 
clickmaker ©   (2006-12-11 13:30) [13]


>  [12] ЮЮ ©   (11.12.06 13:27)

о, точно
а я-то все вспоминаю, где я это уже видел зелеными буквами по черному фону...


 
ЮЮ ©   (2006-12-11 13:30) [14]

Интересно, о подобное из LocalView выдюжит?
SELECT 1 MG,1 NA
UNION
SELECT 1, 5
...


 
sniknik ©   (2006-12-11 13:34) [15]

откуда получаешь этот список условий? может и так из другой таблицы? и тогда смысла "огород городить" нет, надо просто нормально запрос составить с условием на подзапрос.


 
Anatoly Podgoretsky ©   (2006-12-11 13:38) [16]

> ЮЮ  (11.12.2006 13:27:12)  [12]

> на матрицу

Вот она его и поимела.


 
sniknik ©   (2006-12-11 13:40) [17]

а интересно, переписанное в такой форме пройдет?
select * from ABR0711.DBF
where
(MG = "1" and NA in = ("1", "5", "7", 9", "16", "22", "24", "26", "28", "33", "44", "45", "50")) or
....

хотя это одно и тоже...

и кстати зачем там строки? с цифрами было бы лучше.


 
dest   (2006-12-11 13:57) [18]

Запрос ессественно, формируется программно. Ни ключей, не индексов! у базы нет.
Все потому, что после обработки она должна считываться простейшим FOXBASE.


 
dest   (2006-12-11 13:59) [19]

>> sniknik ©   (11.12.06 13:40) [17]
это я думал раньше... попробую.....


 
sniknik ©   (2006-12-11 14:07) [20]

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

используй чтонибудь нормальное, а для "считываться простейшим FOXBASE" делай специальную таблицу, после всего.


 
dest   (2006-12-11 14:10) [21]

мда.. но это гемор... (
с учетом того, что программно создать таблицу даже не получится. FOXBASE читает только те ВИА базы, которые он создает "без лишностей".
придется использовать пустые FOSBASE-кие шаблоны и лишь заполнять их программно...


 
novill ©   (2006-12-11 14:11) [22]

> [3] dest   (11.12.06 13:17)


Если условия берутся не из таблицы, то попробуй конструкцию ... NA in (1,5,7,...) ...



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

Форум: "Базы";
Текущий архив: 2007.03.04;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.51 MB
Время: 0.045 c
15-1170946604
Rouse_
2007-02-08 17:56
2007.03.04
Хто тут работу искал?


2-1171526671
vitv
2007-02-15 11:04
2007.03.04
Проблема выборки большого числа записей(100 000).


2-1171303026
amphest_coder
2007-02-12 20:57
2007.03.04
Полный выход из углубления через Inherited


15-1171277727
Александр Иванов
2007-02-12 13:55
2007.03.04
Подскажите функции InstallScript


15-1170792235
MSTeam
2007-02-06 23:03
2007.03.04
Инсталлятор





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