library_ngmu написал(а):
-------------------------------------------------------
> Здравствуйте! Требуется прочитать файлы формата
> pdf, swf и doc с TCP/IP сервера БД Ирбис64
>
> путем запроса к серверу по протоколу работы
> сервера ИРБИС64
> для чтения файлов там применяется команда 'L'
> чтения текстового ресурса
>
> ПРИМЕР ПРОТОКОЛА
> (первая строка запроса – длина запроса в байтах)
>
> ЗАПРОС
> ВОЗВРАТ 1
> Код команды L
> Текст ресурса цукцукцук
> АРМ R
> Код команды L
> Идентификатор 924472
> Номер команды 2
> Путь на файл 10.IBIS.test.pft
>
> Данный запрос эффективно читает текстовые файлы,
> однако файл приходит в ответ не полностью, но как
> считывать файлы типа pdf, swf и doc путем запроса
> к серверу ирбис? Есть ли готовое решение?
Для считывания нетекстовых (бинарных) файлов применяется та же команда L, однако путь на файл нужно предварять символом "@". В этом случае сервер присылает содержимое файла, предварённое преамбулой "IRBIS_BINARY_DATA".
В вашем случае запрос к серверу выглядит примерно так:
L
C
L
6196011
2
MASTERKEY
master
10.IBIS.@file.pdf
Ответ приходит такой:
L
6196011
2
8648
IRBIS_BINARY_DATA<содержимое файла>