Форум: "Базы";
Текущий архив: 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