Система автоматизации библиотек


Протокол работы сервера ИРБИС64



бет6/18
Дата09.06.2016
өлшемі6.79 Mb.
#124471
1   2   3   4   5   6   7   8   9   ...   18

7.7Протокол работы сервера ИРБИС64


Протокол ИРБИС имеет строковый формат, первые 10 строк – заголовок, далее данные, после данных может стоять строка – признак начала бинарных данных, за которыми блок бинарной информации, завершающийся признаком – строкой..

7.7.1ОБЩИЕ КОНСТАНТЫ


АРМ ы
АДМИНИСТРАТОР – ‘A‘

КАТАЛОГИЗАТОР – ‘C’

КОМПЛЕКТАТОР – ‘M’

ЧИТАТЕЛЬ – ‘R’

КНИГОВЫДАЧА – ‘B’

7.7.2ОПИСАНИЕ СТРУКТУРЫ ПАКЕТА ДАННЫХ


Пакет - это строка переменной длины.

Пакет включает фиксированный (1,2) и переменный (3) наборы строк:



  • строка с общей длиной запроса

  • 10 строк заголовка

  • данные (возможно несколько строк)

Строки разделяются #10,


7.7.2.1Входящий пакет (для сервера):


ДЛИНА ЗАПРОСА В БАЙТАХ (В ТАБЛИЦАХ НЕ ПОКАЗАН!!!)

  1. КОД КОММАНДЫ

  2. ТИП ПОЛЬЗОВАТЕЛЯ (ARM)

  3. КОД КОММАНДЫ

  4. ИДЕНТИФИКАТОР ПОЛЬЗОВАТЕЛЯ (GUID)

  5. ПОРЯДКОВЫЙ НОМЕР ЗАПРОСА

  6. ПАРОЛЬ ПОЛЬЗОВАТЕЛЯ

  7. ИМЯ ПОЛЬЗОВАТЕЛЯ

  8. РЕЗЕРВ

  9. РЕЗЕРВ

  10. РЕЗЕРВ

ДАННЫЕ (возможно несколько строк)

7.7.2.2Исходящий пакет (для сервера):


  1. КОД КОММАНДЫ

  2. ИДЕНТИФИКАТОР ПОЛЬЗОВАТЕЛЯ (GUID)

  3. ПОРЯДКОВЫЙ НОМЕР ЗАПРОСА

  4. РЕЗЕРВ

  5. РЕЗЕРВ

  6. РЕЗЕРВ

  7. РЕЗЕРВ

  8. РЕЗЕРВ

  9. РЕЗЕРВ

  10. РЕЗЕРВ

ДАННЫЕ (возможно несколько строк)

7.7.2.3ПОДРОБНОЕ ОПИСАНИЕ ВОЗВРАТОВ


Все данные посылаются и получаются в символьном виде в виде буфера заканчивающегося #0.

Строки в буфере разделяются 1-м #10 или 2-мя символами - #10#13.

Специальный символ разделитель - '#' = #35

7.7.2.3.1Флаги статусов записи:

{BIT_LOG_DEL = логически удаленная запись - 1}

{BIT_PHYS_DEL = физически удаленная запись - 2 }

{BIT_ABSENT = несуществующая запись - 4}

{BIT_NOTACT_REC = неактуализированная запись - 8} {BIT_LAST_REC = последний экземпляр записи - 32}



{BIT_LOCK_REC = заблокированная запись - 64}
7.7.2.3.2Коды возврата

Код

Мнемоническое описание

Описание

0

ZERO

Нормальное завершение

-1111

SERVER_EXECUTE_ERROR




-2222

WRONG_PROTOCOL




-3333

CLIENT_NOT_IN_LIST

незарегистрированный клиент

-3334

CLIENT_NOT_IN_USE

незарегистрированный клиент не сделал irbis-reg

-3335

CLIENT_IDENTIFIER_WRONG

неправильный уникальный идентификатор

-3336

CLIENT_NOT_ALLOWED

нет доступа к командам АРМа

-3337

CLIENT_ALREADY_EXISTS

клиент уже зарегистрирован

-4444

WRONG_PASSWORD

неверный пароль

-5555

FILE_NOT_EXISTS

Файл не существует

-6666

SERVER_OVERLOAD

сервер перегружен достигнуто максимальное число потоков обработки

-7777

PROCESS_ERROR

не удалось запустить/прервать поток администратора

-100

READ_WRONG_MFN

-1 - заданный MFN вне пределов БД

-600

REC_DELETE

1 - запись логически удалена

-601

REC_PHYS_DELETE

2 - запись физически удалена

-602

ERR_RECLOCKED

запись заблокирована на ввод

-603

REC_DELETE

1 - запись логически удалена

-607

AUTOIN_ERROR

ошибка autoin.gbl

-300

ERR_DBEWLOCK

монопольная блокировка БД

-400

ERR_FILEMASTER

ошибка при открытии файла mst или xrf

-401

ERR_FILEINVERT

ошибка при открытии trm файлов

-402

ERR_WRITE

ошибка при записи

-403

ERR_ACTUAL

ошибка при актуализации

-202

TERM_NOT_EXISTS




-203

TERM_LAST_IN_LIST




-204

TERM_FIRST_IN_LIST




Далее везде в таблицах протокола опущена первая строка запроса – длина запроса в байтах


Достарыңызбен бөлісу:
1   2   3   4   5   6   7   8   9   ...   18




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет