Перейти к содержанию

Хранение образов документов

хранение в БД с архивной частью

По умолчанию образы документов хранятся в виде JPEG файлов в БД PostgreSQL

Хранение в файловой системе

Для настройки хранения образов документов необходимо:

  • доустановить на SQL сервер язык PL/Perl, зарегистрировать его с помощью команды CREATE EXTENSION plperlu;
  • При возникновении ошибки "сould not load library "C:/Program Files/PostgreSQL/9.6/lib/plperl.dll": The specified module could not be found." на ОС WINDOWS необходимо: .1 скачать утилиту dependency walker .2 Подгрузить в неё библиотеку C:/Program Files/PostgreSQL/9.6/lib/plperl.dll и уточнить необходимую версию perl. .3 Установить нужную версию в ОС. !!!Для postgres 9.6 это вероятнее всего 1.20
  • Создать папку для хранения образов, дать пользователю (обычно postgres), от имени которого стартует СУБД полные права на эту папку;

Прописать путь к этой папке

DELETE FROM public.nastr_all WHERE rname = 'pathToPic';
INSERT INTO public.nastr_all (rname, tip, zn, primech,id_task,sf,df)
VALUES ('pathToPic','C',
'<заменить на путь к папке>',
'Путь к папке с изображением документов (при хранении в FS)',
10,0,0);
  • Если система уже использовалась и содержит документы, то они должны быть перенесены с помощь команды
SELECT site.xmldoc_setpic(docpic.id,docpic.pic)
    FROM docxml.docpic where pic is not null;
UPDATE docxml.docpic SET pic = null;

Образы хранятся по настроенному пути в папке <ИМЯ БД>-<СХЕМА>-<ТАБЛИЦА>-<ПОЛЕ>, например mfc-docxml-docpic-pic в папках не более 1000 файлов сгруппированных по идентификатору из таблицы.