Распределенная База Данных реального времени ССУДА
Особенности работы в распределенной среде
В сети удаленный доступ к данным таблиц поддерживают следующие
постоянно загруженные задачи:
|
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 вылетела). |
Автор ©
Воеводин В.П.
|