|
Value will not fit in a FLOAT
|
|||
---|---|---|---|
#18+
Здравствуйте! Исследуя ошибку dbimport, я выполняю следующие действия: dbschema -t stores -d tehtran stores.sql unload to "stores1.unl" select * from stores drop stores dbaccess tehtran stores.sql load from "stores1.unl" insert into stores Получаю такую же ошибку, как при попытке выполнить dbimport для этой таблицы: *** put loadcur 1223 - Value will not fit in a FLOAT. В таблице действительно есть поля типа float, но я ведь беру данные из нее же. Скажите, пожалуйста, это какой-то баг IDS 9.20? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2011, 13:28 |
|
Value will not fit in a FLOAT
|
|||
---|---|---|---|
#18+
heiwa, В данной версии IDS ошибки могут иметь место ... :) Как вариант, можно использовать утилиту myexport из IIUG Repository - http://www.iiug.org/software/index_DBA.html или пересоздать схему и загружать данные (UNLOAD/LOAD) - http://www.sql.ru/faq/faq.aspx?id=115000 С уважением, Вадим. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2011, 13:42 |
|
Value will not fit in a FLOAT
|
|||
---|---|---|---|
#18+
GVF112GVF, спасибо за совет. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2011, 14:34 |
|
Value will not fit in a FLOAT
|
|||
---|---|---|---|
#18+
heiwaПолучаю такую же ошибку, как при попытке выполнить dbimport для этой таблицы: *** put loadcur 1223 - Value will not fit in a FLOAT. В таблице действительно есть поля типа float, но я ведь беру данные из нее же. Скажите, пожалуйста, это какой-то баг IDS 9.20? Вы ничего не сказали о локалях, поэтому скорее всего вы не обращали на них внимания при выгрузке и загрузке. Думаю, что ошибка именно в них, а точнее в десятичном разделителе или что то в этом роде. Укажите ваши переменные окружения, которые действуют при выгрузке, затем при загрузке. укажите, как создавалась БД и посмотрите внутрь выгруженного файла на структуру данных (в т.ч. и на разделитель). ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2011, 20:37 |
|
Value will not fit in a FLOAT
|
|||
---|---|---|---|
#18+
vasilis, спасибо за ответ. Я действительно забыла о локалях, но SERVER_LOCALE и CLIENT_LOCALE совпадают при выгрузке и загрузке. Я еще что-то упустила? Переменные среды, устанавливаемые при запуске экспорта из crontab: export INFORMIXDIR=/opt/informix export INFORMIXSERVER=online PATH=$INFORMIXDIR/bin:$PATH export SERVER_LOCALE=ru_ru.KOI-8 export CLIENT_LOCALE=ru_RU.1251 export DBMONEY=. Переменные среды при импортировании: LESSKEY=/etc/lesskey.bin NNTPSERVER=news INFODIR=/usr/local/info:/usr/share/info:/usr/info MANPATH=/usr/local/man:/usr/share/man:/usr/X11R6/man:/opt/gnome/man SERVER_LOCALE=ru_ru.KOI-8 HOSTNAME=robot XKEYSYMDB=/usr/X11R6/lib/X11/XKeysymDB HOST=robot TERM=xterm SHELL=/bin/bash PROFILEREAD=true SSH_CLIENT=172.16.2.12 1475 22 INFORMIXDIR=/opt/informix CVSROOT=:local:/projects/cvs-server/repository GNOME_PATH=:/opt/gnome:/usr QTDIR=/usr/lib/qt3 CLIENT_LOCALE=ru_RU.1251 SSH_TTY=/dev/pts/1 JRE_HOME=/usr/lib/java/jre USER=informix XNLSPATH=/usr/X11R6/lib/X11/nls DBMONEY=. HOSTTYPE=i386 PAGER=less MINICOM=-c on GNOMEDIR=/opt/gnome MAIL=/var/mail/informix PATH=/projects/hitparade/bin:/opt/informix/bin:/usr/local/bin:/usr/bin:/usr/X11R6/bin:/bin:/usr/games:/opt/gnome/bin:/opt/kde3/bin:/usr/lib/java/jre/bin:/opt/gnome/bin:/usr/java/j2sdk/bin CPU=i686 JAVA_BINDIR=/usr/lib/java/jre/bin LC_COLLATE=POSIX INPUTRC=/etc/inputrc PWD=/home/informix JAVA_HOME=/usr/java/j2sdk LANG=C TEXINPUTS=:/home/informix/.TeX:/usr/share/doc/.TeX:/usr/doc/.TeX INFORMIXSERVER=online SHLVL=1 HOME=/home/informix LESS_ADVANCED_PREPROCESSOR=no OSTYPE=linux LS_OPTIONS=-N --color=tty -T 0 no_proxy=localhost WINDOWMANAGER=/usr/X11R6/bin/kde LESS=-M -I MACHTYPE=i686-suse-linux LOGNAME=informix CVS_RSH=ssh LESSOPEN=lessopen.sh %s INFOPATH=/usr/local/info:/usr/share/info:/usr/info LESSCLOSE=lessclose.sh %s %s JAVA_ROOT=/usr/lib/java COLORTERM=1 mc=() { mkdir -p $HOME/.mc/tmp 2>/dev/null; chmod 700 $HOME/.mc/tmp; MC=$HOME/.mc/tmp/mc-$$; /usr/bin/mc -P "$@" >"$MC"; cd "`cat $MC`"; rm -f "$MC"; unset MC } _=/usr/bin/env Записи в выгруженном текстовом файле такого вида: 0001-001-1|09ц2я|30.0|3969.20434570313|2400.0|639,a9,clobe134.d4f|1|0001|001|1|2005-08-08 15:05:16|de8,1c8,blobe134.d50|2|2005-08-08 15:05:16|9.52609062194824| (методом исключения выяснила, что в данной записи ошибку вызвало последнее поле) Структура проблемной таблицы: create table "tehtranadm".stores ( sscid nvarchar(20) not null , mtid nvarchar(18), sscthick float, sscsizex float, sscsizey float, sscgeometry "informix".clob, ssccount smallint, sscfromtask nvarchar(10), sscfromsheet nvarchar(4), sscfrompiece nvarchar(4), sscdatecreate datetime year to second, sscpreview "informix".blob, usrid integer, sscdatemodify datetime year to second, sscarea float, primary key (sscid) ) extent size 16 next size 16 lock mode page; revoke all on "tehtranadm".stores from "public"; Команда запуска экспорта: dbexport -o /mnt/informix-backup/export -ss -c tehtran Команда запуска импорта: dbimport -i /mnt/informix-backup/export -d armtestdbs tehtran ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2011, 10:45 |
|
Value will not fit in a FLOAT
|
|||
---|---|---|---|
#18+
heiwaЯ действительно забыла о локалях, но SERVER_LOCALE и CLIENT_LOCALE совпадают при выгрузке и загрузке. Я еще что-то упустила? Переменные среды, устанавливаемые при запуске экспорта из crontab: export INFORMIXDIR=/opt/informix export INFORMIXSERVER=online PATH=$INFORMIXDIR/bin:$PATH export SERVER_LOCALE=ru_ru.KOI-8 export CLIENT_LOCALE=ru_RU.1251 export DBMONEY=. Переменные среды при импортировании: SERVER_LOCALE=ru_ru.KOI-8 CLIENT_LOCALE=ru_RU.1251 DBMONEY=. LC_COLLATE=POSIX LANG=C Вы забыли о DB_Locale , которая описывает локаль самой БД (нужна и при выгрузке и при загрузке). Если не указана, то берется по умолчанию. В вашем случае надо знать, с какой локалью создана БД. SERVER_LOCALE относится к сообщениям сервера и , чтобы не путаться, я бы ее рекомендовал выкинуть (пусть работает умолчание). Для формата даты необходимо использовать GL_DATE Еще не очень понимаю, зачем вам LC_COLLATE=POSIX LANG=C Откуда вы брали информацию об их необходимости ? Возможно, я что то не учитываю в вашей среде, но я бы их выкинул. P.S. Для такой древней версии с трудом помнится наличие CLOB-ов. Это рабочая БД или вы просто экспериментируете(учитесь) на этом сервере ? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2011, 12:21 |
|
Value will not fit in a FLOAT
|
|||
---|---|---|---|
#18+
heiwa, 1. А точнее версию не скажете? Уж больно стара - может у вас и сервис-паки на неё такие-же древние... 2. звучит сомнительно, но попробуйте вручнкю уменьшить количество десятичных знаков в проблемном числе. Если пройдёт загрузка - значит баг :(. 3. Как вариант решения текущей проблемы: попробуйте вместо FLOAТ в структуре таблицы задать устраивающий ваc по точности DECIMAL (или даже CHAR %) ) и загрузить в него. Если пройдёт - сконвертируете обратно во FLOAT после загрузки. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.04.2011, 12:30 |
|
Value will not fit in a FLOAT
|
|||
---|---|---|---|
#18+
vasilis, DB_LOCALE и GL_DATE у нас нигде явно не назначаются, при попытке вывести их значения echo выскакивают пустышки. В sysdbslocale для tehtran указана ru_RU.1251, то есть, выходит, локаль клиента. LC_COLLATE и LANG устанавливала не я, а прежний администратор. Честно говоря, не знаю, зачем. И да, мы работаем с этим сервером и этой базой. АнатоЛой, Полная версия Informix Dynamic Server 2000 Version 9.20.UC1. Спасибо, я попробую предложенные вами методы. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.04.2011, 07:44 |
|
|
start [/forum/topic.php?fid=44&msg=37218530&tid=1607375]: |
0ms |
get settings: |
8ms |
get forum list: |
5ms |
check forum access: |
1ms |
check topic access: |
1ms |
track hit: |
29ms |
get topic data: |
3ms |
get forum data: |
1ms |
get page messages: |
143ms |
get tp. blocked users: |
0ms |
others: | 14ms |
total: | 205ms |
0 / 0 |