|
|
|
Ошибка 1150
|
|||
|---|---|---|---|
|
#18+
Подскажите пожалуйста ошибка 1150 вылетает интересно периодически при выполнении следующего SELECTa Код: plaintext но оперативки 1Гб и почему тогда фокс не свопит ее на диск если курсор получается большой. Меня уже конкретно достают подобным вопросом и тыипа надо что-то делать. VFP8SP1 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2007, 12:23 |
|
||
|
Ошибка 1150
|
|||
|---|---|---|---|
|
#18+
Jura.KПодскажите пожалуйста ошибка 1150 вылетает интересно периодически при выполнении следующего SELECTa Код: plaintext но оперативки 1Гб и почему тогда фокс не свопит ее на диск если курсор получается большой. Меня уже конкретно достают подобным вопросом и тыипа надо что-то делать. VFP8SP1 1. Сколько полей в Table1, Table2, Table3 2. Опишите подробней таблицы. Потому как алиасов в запросе нет и ни фокс, ни я не понимаем, к какому из алиасов относятся F1T1, F1T2, F1T3. Причем фоксу легче, чем мне, так как он знает, в каких таблицах нет этих полей. Опять же, если F1T1 и F3T3 содержатся в таблице Table3, то фокс будеть джойнить практически по True или по False, зависит от данных. Потом, Top 101 не поможет, так как применяется ORDER. Пока не отсортирует, первые 101 не отберет. И еще. Нужны типы полей, по которым идет связка и сортировка. Ну мало ли, по VARCHAR(250) связка идет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 21.03.2007, 12:39 |
|
||
|
Ошибка 1150
|
|||
|---|---|---|---|
|
#18+
Таблица table1 имеет 17 полей, но в выборку включается 12 полей из этой таблицы. Таблица table2 имеет 48 полей но в выборку включаются 15 полей из этой таблицы. Таблица table3 имеет 11 полей но в выборку влючается 6 полей. table1 связывается с table2 по полям table1.IDT1=table2.T2IDT1 оба поля Char(10) table3 связывается с table2 по полям table2.T2IDT3=table3.IDT3 оба поля Char(10) Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Имена полей по всем таблицам имеют уникальное название, т.е. ни одно имя поля не повторяется. (вообще поля в таблицах называются по другому не F1....F31, но названия уникальны по всей системе) В выборку попадает memo поле которое содержится в таблице table3. Мне кажется именно из-за него возникают проблеммы. Отследить очень сложно база находится не у меня, достаточно далеко, ошибка появляется изредка может быть раз в неделю. Т.е. в принципе все работает но иногда сваливается в ошибку и именно с таким кодом как будто бы памяти нехватает. Да по поводу TOP Help[TOP nExpr [PERCENT]] Определяет, что в результитрующий набор Запроса будут выбраны первые nExpr записей или заданный процент от общего количества записей выборки. Диапазон допустимых значений для выражения nExpr : от 1 - до 32,767, или, если задана опция PERCENT, вы можете задать значения процентов: от 0.01 - до 99.99. Visual FoxPro сортирует результирующий набор Запроса, а за тем возвращает соответствующее количество записей, как указано в TOP nExpr [PERCENT]. Примечание Для использования опции ограниченной выборки TOP, вы болжны обязательно определить секцию ORDER BY, для сортировки. В секции ORDER BY определяется имя / номер столбца, относительно которого выполняется выборка первых записей Запроса, количество которых задается в опции TOP. Другое дело что в 9 он как то лучше работает но к сожалению имеем 8 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2007, 08:03 |
|
||
|
Ошибка 1150
|
|||
|---|---|---|---|
|
#18+
Jura.KВ выборку попадает memo поле которое содержится в таблице table3. Мне кажется именно из-за него возникают проблеммы. Отследить очень сложно база находится не у меня... Включение в запрос полей memo - штука довольно опасная. Дело в том, что, по моему опыту, в этом случае соответствующая колонка выборки получает такую длину, какова длина содержимого поля memo в первой выбранной записи таблицы-источника. Вы, конечно, сами понимаете всю непредсказуемость такой ситуации. Я в подобных случаях включал в список полей запроса выражение типа: Код: plaintext Естественно, значение длины для такого поля должно быть необходимым и достаточным для обеспечения корректного сравнения. Существенным является также выбранная Вами операция сравнения - "=" или "==". С наилучшими пожеланиями, Dinozavr. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 25.03.2007, 17:43 |
|
||
|
Ошибка 1150
|
|||
|---|---|---|---|
|
#18+
Ну во-первых memo поле включается не в условие запроса а в результат, хотя не вижу ни каких препятствий для включения его и в условие запроса. Во-вторых если в результат запроса включается мемо поле без использования функций, то оно и в результирующей таблице будет иметь тип memo, а значит иметь произвольную длинну, т.к. фокс его сразу определяет типом memo. При условии что не делается извратов типа IIF(cNum='1','Один',m_Pole), в этом случае конечно можно получить в выборку либо memo либо char(4). Другое дело что memo поля часто портяться при некачественных сетях (да и вообще железе) и вот тогда при выборе сбойного поля фокс выкидывает ошибку С0000005. Вот я и думаю (предполагаю) что и ошибка 1150 вываливается из-за этого, хотел узнать может кто сталкивался с такой проблеммой и кто нибудь уже ее решал? Разницу между = и == я тоже прекрасно понимаю, но причина ошибки не в этом. В условиях используется = но при этом правая часть условия дополняется пробелами до длинны поля. И все равно всем спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.03.2007, 07:08 |
|
||
|
|

start [/forum/topic.php?fid=41&fpage=207&tid=1589658]: |
0ms |
get settings: |
9ms |
get forum list: |
19ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
36ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
76ms |
get tp. blocked users: |
2ms |
| others: | 198ms |
| total: | 361ms |

| 0 / 0 |
