![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
в базе данных странные вещи! [D7, IB6.x]
stud © (2003-09-01 16:56:00)
есть БД. при попытке update выдается сообщение arifmetik exception ...... причем не на всех записях. если сделать бекап/ресторе, то можно отредактировать один раз))) запись на которой выскакивает ошибка.
кто-нибудь может подсказать с чем это может быть связано?
stud (2003-09-02 11:29:00) [1]
> Sergey13
ну спасибо. действительно триггеры))))
stud (2003-09-02 11:23:00) [2]
5 тригеров, 2 процедуры, и 1 таблица. смысл смотреть тригеры, если 600 записей я все-таки удалил??
Sergey13 (2003-09-02 11:17:00) [3]
Ну тогда, ИМХО, тригера смотреть надо. Тем паче "тригеров много". Чего хоть они делают то и зачем их "много" и скока точно "много".
stud (2003-09-02 11:14:00) [4]
хотелось бы удалить все данные из этой таблицы. только ведь тоже не дает! из 800 записей 200 с ошибками. можно как-то их удалить? только удалять поля не предлагать - есть связанные объекты
stud (2003-09-02 11:10:00) [5]
менялся. и делал я это по твоей схеме.
Sergey13 (2003-09-02 10:56:00) [6]
Можно попробовать создать поле дубликат naim. Записать туда из оригинала, обнулить оригинал (можно и без этого попробовать), вернуть значение оригиналу из дубликата, грохнуть дубликат. Лог на это время ессно отключить. Шаманство конечно, но меня как то спасло от подобных проблем. У тебя возможно менялся тип (длина) этого поля.
stud (2003-09-02 10:25:00) [7]
ну запрос не от балды а реальный, остальные поля таблицы числовые.
CREATE TABLE USLUGI_SPR (
KOD INTEGER NOT NULL,
OPISANIE VARCHAR(200) COLLATE PXW_CYRL,
KOD_USL VARCHAR(20) COLLATE PXW_CYRL,
PARENT INTEGER,
NAIM VARCHAR(220) COLLATE PXW_CYRL,
PRIZNAK SMALLINT DEFAULT 0 NOT NULL
);
Sergey13 (2003-09-02 10:19:00) [8]
2stud © (02.09.03 09:24) [13]
Вот ведь как. Дают "просто кусок описания текстовых полей", просто от балды запрос, и просто хотят получить конкретноерешение конкретнойпроблемы возникающей на конкретнойтаблице с конкретнымзапросом. 8-(
stud (2003-09-02 09:35:00) [9]
это сложно))
потому что ведется журнал по этой таблице и тригеров много. они создавались автоматически ibexpertom.
хотя действительно есть подозрение, что были записаны данные большей длины, но сейчас максимальная длина поля 200 символов
Zacho (2003-09-02 09:30:00) [10]
Покажи триггеры. И структуру таблицы - целиком.
stud (2003-09-02 09:24:00) [11]
> Sergey13
это просто кусок описания текстовых полей))
> MsGuns
понимаеш политика такая. хотя при работе в ibexpert происходит тоже самое.
> Zacho
проверял это. максимальная длина 200 символов.
тригеры есть, но
update uslugi set naim=naim проходит без проблем
Sergey13 (2003-09-02 09:02:00) [12]
2stud © (01.09.03 17:34) [9]
А как это совместить?
OPISANIE VARCHAR(200) COLLATE PXW_CYRL,
KOD_USL VARCHAR(20) COLLATE PXW_CYRL,
PARENT INTEGER,
NAIM VARCHAR(220) COLLATE PXW_CYRL,
и
update uslugi set naim="ЗНАЧЕНИЕ" where kod=123
Судя по структуре kod поля нет, а kod_usl - varchar.
Zacho (2003-09-02 08:08:00) [13]
С кодировками вроде все нормально, тогда остаются варианты:
1. Пытаешься запихнуть строку длиннее 220 символов.
2. Есть триггер на апдейт, в котором и происходит ошибка.
MsGuns (2003-09-01 17:43:00) [14]
>stud © (01.09.03 17:34) [9]
>кодировка win1251
>конктюсь с pdoxansicyrilic через бде
Дим, а какого лешего интербазу шарим через бидэ ? Ну если не военнная тайна, конечно :"))
stud (2003-09-01 17:34:00) [15]
кодировка win1251
конктюсь с pdoxansicyrilic через бде
OPISANIE VARCHAR(200) COLLATE PXW_CYRL,
KOD_USL VARCHAR(20) COLLATE PXW_CYRL,
PARENT INTEGER,
NAIM VARCHAR(220) COLLATE PXW_CYRL,
HSolo (2003-09-01 17:31:00) [16]
1. В какой кодировке база?
2. С какой кодировкой коннектитесь?
stud (2003-09-01 17:29:00) [17]
а я то думал)))))
тогда надо вызывать охотников за барашками
MsGuns (2003-09-01 17:28:00) [18]
барабашка..
stud (2003-09-01 17:27:00) [19]
так ведь не на всех записях!!
Mike Kouzmine (2003-09-01 17:16:00) [20]
Может это только с кириллицей?