Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2003.11.13;
Скачать: [xml.tar.bz2];

Вниз

Помогите советом!   Найти похожие ветки 

 
inspirion   (2003-10-24 12:57) [0]

Есть таблица в кторой 400 записей были сделаны. Не понятно с чего при добвалении новой записи возникает ошибка "Arithmetic exception, numeric overflow or string trancationn. Cannot translate beetwen character sers ". База подключена на кодировку win1251. С чем это может быть связано.


 
bushmen   (2003-10-24 13:00) [1]

А что добавляем и в какой тип поля?


 
Val   (2003-10-24 13:02) [2]

База подключена на кодировку win1251
где подключена?
как добавляете?


 
Zacho   (2003-10-24 13:03) [3]

Много с чем. Например, в приложении убрал lc_ctype=win1251 в параметрах подключения, или в базе изменил charset поля на какой-то другой, или пытаешься добавить строку длиннее, чем длина поля, или проблема вообще не в текстовом поле, а происходит ошибка в триггере или вычисляемом поле, или разрушена БД..


 
inspirion   (2003-10-24 13:04) [4]

Пытаюсь добавить запись через IBConsole. Поля в таблице есть разные string, integer, float, blob, есть constrains!


 
inspirion   (2003-10-24 13:07) [5]

Когда в IBConsole пролистываешь базу до самого конца, он как бы переходит в режим вставки и в этот момент возникает эта ошибка!


 
mOOx_   (2003-10-24 13:08) [6]

Ну и что дальше? Проверь последовательность заполнения полей в запросе. Да и вообще, давай скрипт таблицы, запрос, а там посмотрим.


 
Val   (2003-10-24 13:08) [7]

SET NAMES WIN1251;
connect "d:\testbase.gdb" user sysdba password masterkey;
insert into supplier(id,sname,name) values (1,"ЯЯ","AA");
commit;


 
Zacho   (2003-10-24 13:11) [8]

Кстати, в IBConsole есть баг с кодировками. Попробуй в IBExpert. И проверь те возможности, которые я перечислил в [3]


 
inspirion   (2003-10-24 13:13) [9]

Когда в IBConsole пролистываешь базу до самого конца, он как бы переходит в режим вставки и в этот момент возникает эта ошибка!

тут проблема не от запроса на вставление, а что то другое происходит с таблицей! И данная проблема только с одной таблицей, в других таблицах этой же базы все нормально!


 
Zacho   (2003-10-24 13:16) [10]


> inspirion © (24.10.03 13:13) [9]
> тут проблема не от запроса на вставление, а что то другое
> происходит с таблицей

Еще раз: для начала попробуй вставить запись не в консоле, а в чем-нибудь другом.


 
inspirion   (2003-10-24 13:30) [11]

Аналогичная ошибка возникет при работе с базой из программы EMS QuickDesk!


 
mOOx_   (2003-10-24 13:32) [12]

Ты сорцы то покажешь или это коммерческая тайна?


 
Zacho   (2003-10-24 13:35) [13]

Покажи метаданные таблицы. И установлен ли у тебя в параметрах подключения win1251 в консоле и в QuickDesk ?


 
inspirion   (2003-10-24 13:46) [14]

CREATE TABLE CLIENT (
ID_CLIENT INTEGER,
ID_BANK INTEGER,
NAZVANIE VARCHAR (100) character set WIN1251 collate WIN1251,
ADRES VARCHAR (220) character set WIN1251 collate WIN1251,
DIRECTOR VARCHAR (200) character set WIN1251 collate WIN1251,
TELEFON VARCHAR (200) character set WIN1251 collate WIN1251,
N_REGISTRAC VARCHAR (200) character set WIN1251 collate WIN1251,
DATE_REG DATE,
INN VARCHAR (200),
RAS_SCHET VARCHAR (200),
USTAV VARCHAR (200) character set WIN1251 collate WIN1251,
RAION VARCHAR (200) character set WIN1251 collate WIN1251,
DOP_INFO BLOB sub_type 1 segment size 1,
OKONX VARCHAR (50) character set WIN1251 collate WIN1251,
OKDP VARCHAR (50) character set WIN1251 collate WIN1251,
VID_DEYT VARCHAR (200) character set WIN1251 collate WIN1251,
OKPO VARCHAR (50) character set WIN1251 collate WIN1251,
OKOPF VARCHAR (50) character set WIN1251 collate WIN1251,
OKFS VARCHAR (50) character set WIN1251 collate WIN1251,
FORMA VARCHAR (50) character set WIN1251 collate WIN1251,
GL_BUX VARCHAR (50) character set WIN1251 collate WIN1251,
STATUS VARCHAR (30) character set WIN1251 collate WIN1251,
SYSTEM SMALLINT DEFAULT 0,
MONEY FLOAT,
FULL_N VARCHAR (200) character set WIN1251 collate WIN1251,
SERIA VARCHAR (10) character set WIN1251 collate WIN1251,
PAS_NUMBER VARCHAR (20) character set WIN1251 collate WIN1251,
WORKED INTEGER,
SUB INTEGER,
KPP VARCHAR (15) character set WIN1251,
CODE VARCHAR (50) character set WIN1251 collate WIN1251,
METKA VARCHAR (20) character set WIN1251 collate WIN1251);

/* Primary keys definition */

ALTER TABLE CLIENT ADD PRIMARY KEY (ID_CLIENT);

/* Foreign keys definition */

ALTER TABLE CLIENT ADD FOREIGN KEY (ID_BANK) REFERENCES BANK (ID_BANK);

/* Indices definition */

CREATE UNIQUE INDEX XPKCLIENT ON CLIENT (ID_CLIENT);

SET TERM ^ ;

/* Triggers definition */

/* Trigger: CLIENT_BI */
CREATE TRIGGER CLIENT_BI FOR CLIENT ACTIVE
BEFORE INSERT POSITION 0
AS
BEGIN
IF (NEW.ID_CLIENT IS NULL) THEN
NEW.ID_CLIENT = GEN_ID(GEN_ID_CLIENT,1);
END
^

SET TERM ; ^


 
mOOx_   (2003-10-24 13:49) [15]

А выполняемый запрос?


 
Zacho   (2003-10-24 13:50) [16]


> inspirion © (24.10.03 13:46) [14]
> INN VARCHAR (200),
> RAS_SCHET VARCHAR (200),

Вот в этом похоже и дело. Поставь для всех varchar полей character set win1251.
И все-таки: ты уверен, что подключаешься с lc_ctype=win1251 ?


 
inspirion   (2003-10-24 13:57) [17]

да подключение осуществляется через win1251.
Удалил все записи и попытался вставить новую все прошло нормально! Но суть заключается в том что бы востановить рабочую базу не удаляя всех записей, потому что очень сложно востановить по связям остальные таблицы!
INN VARCHAR (200),
RAS_SCHET VARCHAR (200),
сделал character set WIN1251 collate WIN1251


 
Zacho   (2003-10-24 14:01) [18]

Возможно, что все-таки разрушена БД. Сделай validation.

> inspirion © (24.10.03 13:57) [17]
> Но суть заключается в том что бы востановить
> рабочую базу не удаляя всех записей,

Создай "временную" таблицу, скопируй в нее все записи, удали из исходной, потом скопируй обратно.
Да, сначало попробуй сделать просто backup/restore БД, может поможет.


 
inspirion   (2003-10-24 14:36) [19]

Спасибо всем за участие. Проблемму разрешил при помощи backup-restore. При этом иправил некоторые ошибки!



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2003.11.13;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.027 c
1-41588
REA
2003-10-27 11:30
2003.11.13
OLE


14-41937
RoLeX
2003-10-20 16:17
2003.11.13
Как сгенерировать случайные Числа?? Буквы???


1-41470
Sirus
2003-10-29 07:16
2003.11.13
Нужно установить вручную Flash Player (неважно какой)???


1-41679
Zmei
2003-10-23 17:53
2003.11.13
Перевод


7-42187
xer
2003-08-29 11:04
2003.11.13
Программирование COM порта..





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