Данные типа char в INFORMIX имеют длину 8 бит на символ и поэтому могут хранить как английские, так и русские буквы.
Встроенной сортировки по русскому алфавиту INFORMIX не реализовал. Для русской сортировки пользуйтесь предварительной перекодировкой. (См. например подпрограммку koder в демонстрационной базе ZAWOD).
Во время ввода пользователь должен переключаться с русского на английский клавишей CONTROL-O, а с английского на русский клавишей CONTROL-N.
Должна быть установлена переменная окружения
KEYBMAP="маршрутное имя файла с перекодировочной таблицей"
KEYBMAP=/usr/informix/keybmap/dasherE export KEYBMAP
KEYBMAP=/usr/informix/keybmap/dasherD export KEYBMAP
KEYBMAP=/usr/informix/keybmap/dasherP export KEYBMAP
Для настройки INFORMIX использует переменные окружения. Вы можете изменить любое из допущений, принимаемых INFORMIX по умолчанию, установкой одной или нескольких переменных окружения, распознаваемых INFORMIX.
Например сделать так, чтобы переменные типа MONEY изображались не в формате $149.50, а в формате руб 149.50 коп можно командой
DBMONEY='руб . коп' export DBMONEY
DBPATH=/udd/iwanow:/udd/petrow export DBPATH
DBPATH=//hostname *OnL*
INFORMIXDIR=/usr/informix export INFORMIXDIR DBPRINT=pp export DBPRINT # программа печати - pp DBEDIT='rk -E' export DBEDIT # пользовательский редактор # DBDATE=DMY4. export DBDATE # формат даты 24.09.1991 # DBMONEY='. руб' export DBMONEY# совковый стандарт денег PATH=$PATH:$INFORMIXDIR/bin export PATH # выполняемые модули SQLEXEC=$INFORMIXDIR/lib/sqlexec export SQLEXEC # сервер - SE TERMCAP=$INFORMIXDIR/etc/termcap export TERMCAP case $TERM in # таблица русификации клавиатуры d460* | d211* | cham | vt* ) KEYBMAP=$INFORMIXDIR/keybmap/dasher # яверты/qwerty # KEYBMAP=$INFORMIXDIR/keybmap/dasherE # qwerty/яверты # KEYBMAP=$INFORMIXDIR/keybmap/dasherD # йцукен/qwerty IBM PC # KEYBMAP=$INFORMIXDIR/keybmap/dasherP # йцукен/qwerty пишмаш export KEYBMAP ;; esac
Для настройки на терминалы UNIX использует файл termcap или базу данных terminfo, в которых собраны описания всех (или почти всех) терминалов, существующих в природе. Выяснив, какой тип терминала подключен к машине (а задается это в переменной окружения TERM (например TERM=d460 или TERM=d211)), UNIX находит описание этого терминала базе описания терминалов и настроившись по хранящейся там информации, может адекватно воспроизводить на нем информацию, подлежащую выводу.
INFORMIX имеет свой собственный termcap файл с описаниями терминалов, в нем поддерживается больше возможностей по сравнению со стандартным termcap UNIX'а. Чтобы INFORMIX пользовался им нужно присвоить его маршрутное имя в переменную окружения
TERMCAP=/usr/informix/etc/termcap
Терминалы TATUNG и DASHER-460 можно настраивать в два разных режима: СТАНДАРТНЫЙ, и ANSI.
Стандартный режим задается стандартным значением переменной TERM. Для TATUNG TERM=d211, для DASHER-460 TERM=d460. В этом режиме я и рекомендую вам работать. Включается он по умолчанию.
Стандартный режим имеет следующие недостатки:
TERM=d460-tansi export TERM
TERM=$TERM-tansi r4gl
TERM=d211 | Стандартное значение ("Простой") |
TERM=d211-tansi | Временный ANSI режим (ANSI) |
TERM=d211-132 | "Широкоэкранный" режим (132 символа в строке) |
TERM=vt220 | Эмуляция vt220 (vt200 в 7-ми битном режиме) |
TERM=d460 | Стандартное значение |
TERM=d460-tansi | Временный ANSI режим для DASHER D460 |
TERM=d460-127 | Не реализован |
Если при запуске нескольких процессов INFORMIX программы начинают слетать с сообщением 1250 "Unable create a pipe", значит в вашей системе слишком мало socketов. А требуется их по 4 штуки на каждую запускаемую программу INFORMIX'а.
Корректирующие действия: создайте недостающие socketы в каталоге /dev/so , задайте им нормальные права доступа, и перегенерите систему, указав в dfile их новое количество.
Внимание! Не уничтожайте старый UNIX, пока не убедитесь, что новый грузится нормально!!!