Вопрос

Хранение бинарных данных в файлах

Погуглив по сайту я вижу, что самый рекомендуемый способ это сделать - FileStream, однако, я не нашел подробной инструкции как это правильно делать. Вот включил я на сервере, а что дальше?

Например, когда создается файловый объект, бинарные данные в нем VARBINARY(MAX), и FileStream здесь выбрать не получается. ALTER COLUMN?

Еще сервер требует ALTER COLUMN Id ADD ROWGUIDCOL!

Плюс надо создать файловую группу FileStream и минимум 1 файл в этой группе.

Есть подробная инструкция как всё правильно сделать? Причем на лету, да так чтобы система продолжала работать у пользователей.

Нравится

3 комментария

Добрый день, Алексей!

Данный вопрос стоит адресовать в поддержку Microsoft, поскольку они разрабатывали данную функциональность. 

Единственное чем могу помочь, это полезной информацией:

 https://docs.microsoft.com/ru-ru/sql/relational-databases/blob/filestream-sql-server

https://www.red-gate.com/simple-talk/sql/learn-sql-server/an-introduction-to-sql-server-filestream/

https://logicalread.com/sql-server-filestream-part1-mo01/#.WosMgKhuaUk

Майкрософт - это конечно, хорошо, но меня волнует вопрос насколько BPM совместима с этой технологией?

Ну вот я, допустим сделаю это всё на сервере разработки, но это же не перенесется через СВН!

Также, что будет, если я захочу что-то поменять в этой таблице в конфигураторе и пересохраню ее? Всё отвалится?

Алексей-Карягин,

Проверили работу FileStream с базой bpmonline.

Необходимо включить FileStream на серевера, после в БД создать FileGroup, и добавить File, тогда будет возможность создавать в БД таблици которые MEMORY_OPTIMIZED=ON, DURABILITY=SCHEMA_ONLY. 

Поскольку изменить существующие таблицы для работы с FileStream не удастся, есть возможность только в существующую БД добавить новые таблицы.

Для того что бы в БД получать данные таких таблиц необходимо в конфигурации добавить схему в которой указать что это [Представлении в базе данных]

Тогда создав отдельно в БД таблицу с таким же именем как и у схемы, в bpm'online можно будет получить значения из этой таблицы.

В случае с существующими таблицами/схемами не получиться, поскольку необходимо изменять структуру БД, что повлияет на работоспособность базового функционала.

 

Показать все комментарии