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

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.038 c
1-1168440273
i-am-vladko
2007-01-10 17:44
2007.03.04
Директива компилятора


2-1171611774
cando
2007-02-16 10:42
2007.03.04
бeбуфер обмена


15-1170538559
Евгенич
2007-02-04 00:35
2007.03.04
Что почитать, чтобы научиться писать код?


2-1171338047
ryslan56
2007-02-13 06:40
2007.03.04
НЕлп


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