В сети удаленный доступ к данным таблиц поддерживают следующие постоянно загруженные задачи:
DDBD_mem на ЭВМ-сервере ssuda.oku.ihep.su ; |
|
ws_rwr на каждой ЭВМ, где есть файлы БД; |
|
fe_rwr на каждом FE компьютере, к которому подключены ЕС с копиями таблиц; |
|
#RWR на ЕС, где есть копии таблиц. |
Объем данных в функциях dtrdbl
и dtwdbl
не может превышать 8500 байт !!!!
coord[6]
может принимать следующие значения:
- 0
- - локальная таблица;
- 1
- - материнская копия глобальной;
- 2
- - копия child;
- 3
- - копия в ЕС.
При работе в сети открывают только глобальные таблицы посредством функции
short int opnglb( char *rel_n, char *use_n, short int base_num )
Эта функция открывает таблицу с именем rel_n
для доступа к данным. Открывающий имеет привилегии в соответствии с именем use_n
. Допускается пустое имя, задаваемое в виде "". Через base_num
возвращается номер БД, где расположена эта таблица. Открываются и все копии таблицы.
Функция возвращает:
>= 0 - идентификатор таблицы при удачном завершении; 0x8000 - нет таблицы, содержащей описания пользователей; 0x8010 - уже открыто максимальное число таблиц; 0x8020 - нет пользователя с указанным именем; 0x8030 - ошибка в сети на функцию sendto
;0x8031 - ошибка в сети на функцию select
;0x8032 - ошибка в сети на функцию чтения; 0x8033 - time-out на чтение из сети; 0x8034 - ошибка в сети на функцию socket
;0x8035 - ошибка в сети на функцию bind
;0x8036 - ошибка в сети на функцию gethostbyname
;0x8037 - на функцию sendto
получен не ответ;0x8110 - time-out на MIL-1553; 0xc001 - WS_RWR
не может открыть файл БД с глобальной таблицей;0xc000 - WS_RWR
открыла максимальное число таблиц;0xc000 - нет такой глобальной таблицы в описаниях DDBD
;0xc000 - нет такой таблицы в файле БД.
Остальные функции библиотеки работают в соответствии с их описаниями. Однако дополнительно могут быть получены следующие коды ошибок:
0x8060 - неправильный номер БД; 0x8000 - из сети получен неправильный ответ; 0x8010 - в ЕС нет задачи #RWR
;0xc000 - в ЕС нет команды чтения блока ( #RWR
вылетела).