Хранение образов документов
хранение в БД с архивной частью
По умолчанию образы документов хранятся в виде 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 файлов сгруппированных по идентификатору из таблицы.