|
Поместить ХранилищеЗначения во внешний источник
| ☑ |
0
xXeNoNx
26.10.16
✎
11:21
|
Всем привет!
Нужно запихнуть во внешний источник двоичные данные с сжатием(!!!)
Внешний источник - таблица в MS SQL
Кто сталкивался с проблемой и как решали, если можно с примерами?(Желательно код хранимой процедуры)
|
|
1
Franchiser
гуру
26.10.16
✎
11:26
|
Можно передать в sql картинку (двоичные данные), где-то видел код.
|
|
2
Franchiser
гуру
26.10.16
✎
11:28
|
image = Новый COMОбъект("ADODB.Stream");
image.type = 1;
image.Open();
image.LoadFromFile("C:\database\1.jpg");
RecordSet = Новый COMОбъект("ADODB.Recordset");
RecordSet.CursorLocation = 3;
RecordSet.ActiveConnection = Connection;
RecordSet.Open("Select * FROM images",Connection,2,3);
RecordSet.AddNew();
RecordSet.Fields("image").Value = image.Read();
Recordset.Fields("product").Value = Данные.Объект.УникальныйИдентификатор();
RecordSet.Update();
RecordSet.Close();
|
|
3
xXeNoNx
26.10.16
✎
11:28
|
(1) не.., это реализовано и норм работает, но таблица(MS SQL) получается растет капец как..., поэтому нужно именно сжатие
|
|
4
oleg_km
26.10.16
✎
11:44
|
Если не брезговать .NET, то я использую System.IO.Compression.GZipStream. Код не приведу, т.к. достаточно много: и инициализация .NET, потом сериализация и сжатие.
|
|
5
xXeNoNx
26.10.16
✎
12:04
|
(4) достаточно использовать конструкцию
Новый ХранилищеЗначений(данные, Сжатие(9))
|
|
6
xXeNoNx
26.10.16
✎
15:44
|
Больше интересно как преобразуется ХранилищеЗначений при записи в базу
|
|
7
МихаилМ
26.10.16
✎
15:54
|
(6) преобразуется в значение внутренние и жмется дефдэйт
|
|
8
oleg_km
26.10.16
✎
17:04
|
(6) А как вы ХранилищеЗначений записываете в таблицу в MS SQL? ВнешнийИсточник? Ну так посмотрите в Profiler
|
|
9
Franchiser
гуру
27.10.16
✎
02:21
|
(0) имея бинарные данные сохраняете во временный файл, архаизируете штатно в zip или нештатно рар, после чего преобразуете файл обратно в бинарные данные, которые пихаете в sql стандартно.
|
|
10
Franchiser
гуру
27.10.16
✎
02:26
|
почему не подходит вариант с Новый ХранилищеЗначений(данные, Сжатие(9)) ?
|
|