![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Это глюк Firebird? [D6, Win2k]
}|{yk © (2004-09-17 12:35:00)Поле типа varchar(180) с charset 1251. Если сделать distinct выборку по этому полю, или order by по этому полю, то получаю Arithmetic overflow or division by zero has occurred.
Роман Снегирев (2004-09-20 13:23:00) [1]значит все-таки база была кривая
}|{yk (2004-09-20 13:11:00) [2]Перезакачал, всё нормально ????
Роман Снегирев (2004-09-18 10:15:00) [3]Попробуй запрос без ORDER BY, но сделай Fetch All. Зуб даю, будет та же ошибка. :)
а че зуб то типа золотой?
Zacho (2004-09-18 07:19:00) [4]Попробуй запрос без ORDER BY, но сделай Fetch All. Зуб даю, будет та же ошибка. :)
Есть ли вычисляемые (COMPUTED BY) поля ? Если да, то проблема скорее всего в одном из них.
Роман Снегирев (2004-09-17 16:12:00) [5]to DSKalugin
в третьем имена полей, процедур и таблиц берутся в двойные кавычки
не уж? а я думал их в квадратные скобки надо засовывать.
причем вообще здесь кавычки (не надо использовать зарезервированные слова в названиях объектов БД вот и все)
to }|{yk
когда закончишь перекачивать данные сообщи о результатах
DSKalugin (2004-09-17 16:06:00) [6]в третьем имена полей, процедур и таблиц берутся в двойные кавычки
}|{yk (2004-09-17 15:55:00) [7]Я знаю, строки действительно были пусты, но не null
И это действительно 3 диалект
DSKalugin (2004-09-17 15:53:00) [8]это не третий диалект, а первый
замени
<> '' на IS NOT NULL
= '' на IS NULL
для строчных данных это большая разница ='' и IS NULL
Первый вариант говорит о пустой строке(X.AsString:=''), а второй об отсутствии значения (незаполненное поле)
}|{yk (2004-09-17 15:27:00) [9]Да в нем же и делаю. Сейчас перезакачиваю данные
Роман Снегирев (2004-09-17 15:25:00) [10]вот и я про то. А ты каким инструментом пользуешься для разработки БД? Если IBExpert то он при открытии таблицы сразу такую ошибку выдает если проблема действительно в кодировке (да и если база кривая). Открой в нем свой тэйбл и попробуй пробежаться по записям, желательно до конца
}|{yk (2004-09-17 15:20:00) [11]70 Мб, не перешлешь
Роман Снегирев (2004-09-17 15:18:00) [12]судя по твоему описанию все должно работать, жалко нельзя саму БД посмотреть
}|{yk (2004-09-17 14:44:00) [13]Попробую перезакачать данные
Johnmen (2004-09-17 14:36:00) [14]Т.е. этот запрос работает без ордер бай и не работает с оным ?
А так ORDER BY 2 ?
}|{yk (2004-09-17 14:30:00) [15]1. Диалект 3
2. Может и есть, 500 тыс записей сложно просмотреть
3. Запрос то элементарный
select a.tel,a.ul, a.dom, a.kvart
from temp a where
a.own <> '' and a.own1 = ''
and a."TYPE"=2
and a.ul<>''
--order by a.ul
индексов нет
DSKalugin (2004-09-17 14:25:00) [16]возможно рухнул индекс по сортируемому полю если есть.
Быкапом такое не лечится.
Надо выполнить
alter index "имя_индекса" inactive
alter index "имя_индекса" active
и проверить ограничения на это поле. Возможно после его первоначального создания производились модификации поля
Добавление not null, уникальность или изменение длины
Johnmen (2004-09-17 14:08:00) [17]1. Диалект ?
2. Есть ли нац.символы в поле ? Откуда взялись ?
3. Откуда вып-ся запрос ?
}|{yk (2004-09-17 14:04:00) [18]1. База в Win1251
2. Сделал backup/restore, не помогло
3. Выдает ту же ошибку
Роман Снегирев (2004-09-17 13:27:00) [19]ну начнем.
1. Ты саму базу в какой кодировке создавал? Win 1251? если да см п.2
2. Может у тебя база рухнула, попробуй сделать Backup/Restore если все хорошо см. п 3
3. попробуй сортировать например так
ORDER BY (UPPER(FIELD_NAME COLLATE PXW_CYRL) если все плохо будем разговаривать дальше
Johnmen (2004-09-17 13:21:00) [20]У меня глюка нет.