Гость
Map
Форумы / Informix [игнор отключен] [закрыт для гостей] / Value will not fit in a FLOAT / 8 сообщений из 8, страница 1 из 1
15.04.2011, 13:28
    #37218307
heiwa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Value will not fit in a FLOAT
Здравствуйте!

Исследуя ошибку 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?
...
Рейтинг: 0 / 0
15.04.2011, 13:42
    #37218357
GVF112GVF
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Value will not fit in a FLOAT
heiwa,

В данной версии IDS ошибки могут иметь место ... :)

Как вариант,
можно использовать утилиту myexport из IIUG Repository - http://www.iiug.org/software/index_DBA.html
или пересоздать схему и загружать данные (UNLOAD/LOAD) - http://www.sql.ru/faq/faq.aspx?id=115000

С уважением,
Вадим.
...
Рейтинг: 0 / 0
15.04.2011, 14:34
    #37218530
heiwa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Value will not fit in a FLOAT
GVF112GVF, спасибо за совет.
...
Рейтинг: 0 / 0
15.04.2011, 20:37
    #37219111
vasilis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Value will not fit in a FLOAT
heiwaПолучаю такую же ошибку, как при попытке выполнить dbimport для этой таблицы:

*** put loadcur
1223 - Value will not fit in a FLOAT.

В таблице действительно есть поля типа float, но я ведь беру данные из нее же. Скажите, пожалуйста, это какой-то баг IDS 9.20?
Вы ничего не сказали о локалях, поэтому скорее всего вы не обращали на них внимания при выгрузке и загрузке.
Думаю, что ошибка именно в них, а точнее в десятичном разделителе или что то в этом роде.
Укажите ваши переменные окружения, которые действуют при выгрузке, затем при загрузке. укажите, как создавалась БД и посмотрите внутрь выгруженного файла на структуру данных (в т.ч. и на разделитель).
...
Рейтинг: 0 / 0
18.04.2011, 10:45
    #37221099
heiwa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Value will not fit in a FLOAT
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
...
Рейтинг: 0 / 0
18.04.2011, 12:21
    #37221344
vasilis
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Value will not fit in a FLOAT
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-ов. Это рабочая БД или вы просто экспериментируете(учитесь) на этом сервере ?
...
Рейтинг: 0 / 0
18.04.2011, 12:30
    #37221363
АнатоЛой
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Value will not fit in a FLOAT
heiwa,
1. А точнее версию не скажете? Уж больно стара - может у вас и сервис-паки на неё такие-же древние...
2. звучит сомнительно, но попробуйте вручнкю уменьшить количество десятичных знаков в проблемном числе. Если пройдёт загрузка - значит баг :(.
3. Как вариант решения текущей проблемы: попробуйте вместо FLOAТ в структуре таблицы задать устраивающий ваc по точности DECIMAL (или даже CHAR %) ) и загрузить в него. Если пройдёт - сконвертируете обратно во FLOAT после загрузки.
...
Рейтинг: 0 / 0
19.04.2011, 07:44
    #37221763
heiwa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Value will not fit in a FLOAT
vasilis,

DB_LOCALE и GL_DATE у нас нигде явно не назначаются, при попытке вывести их значения echo выскакивают пустышки. В sysdbslocale для tehtran указана ru_RU.1251, то есть, выходит, локаль клиента.

LC_COLLATE и LANG устанавливала не я, а прежний администратор. Честно говоря, не знаю, зачем.
И да, мы работаем с этим сервером и этой базой.

АнатоЛой,

Полная версия Informix Dynamic Server 2000 Version 9.20.UC1.
Спасибо, я попробую предложенные вами методы.
...
Рейтинг: 0 / 0
Форумы / Informix [игнор отключен] [закрыт для гостей] / Value will not fit in a FLOAT / 8 сообщений из 8, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]