#0
by KuJIT
Собственно, ищу способ получить bytea в 1С. Подключаюсь к БД на psql, используя команды Connection.ConnectionString = "Driver={PostgreSQL Unicode};data source=PostgreSQL35W;Server="+Хост+";Port=" + Выполняю запрос в БД при помощи Как обработать поля с типом bytea. Например, вытащить из БД картинки, который там хранятся в bytea?
#3
by KuJIT
этот вариант слишком костыльный какой-то, что ли. Выгрузить файлы диск, где-то вести учет какой файл к какой строке БД принадлежит, потом по этому соответствию подгружать в 1Ску.
#4
by KuJIT
А вот это не понял как использовать -_- Не совсем понятно что именно возвращает последняя строка. Для простых типов тип строки, возвращает строку, которую комфортно можно прочитать, а если там был bytea, то какой тип получается в 1Ске?
#6
by oleg_km
Но зато если выгрузить на диск в файл, то можно потом загрузить в ДвоичныеДанные или Картинка и записать в ХранилищеЗначений в базу
#7
by Serginio1
В отладчике посмотреть. По идее должен в COMSafeArray. Который можно перекодировать в Base64 а из неё в Двоичные данные. Либо Врап.ПолучитьТип("System.IO.File").WriteAllBytes(имяФайла,Массив);
#9
by KuJIT
1Ска крашится, как только я пытаюсь value столбца с bytea из запроса записать в какую-либо переменную в 1С. Отсюда невозможно как-либо его обработать (придётся, видимо, в файлы выгружать) -_-
#13
by KuJIT
Есть мнение, что там что-то побитое (сломанное) может лежать в некоторых полях из-за чего все и ломается.
#17
by Serginio1
Посмотри там есть пример работы с bytea Working with large object support This sample is nearly identical to the bytea code above. It stores the retrieved file in Postgresql, and then later removes it. As with the bytea sample, it writes a file with a “database” suffix. public class c { public static void Main(String[] args) { NpgsqlConnection newconn = new NpgsqlConnection("server=localhost;user id=npgsql_tests;password=npgsql_tests"); LargeObjectManager lbm = new LargeObjectManager(newcon); public static void DeleteLargeObject(Int32 noid) { NpgsqlConnection conn = new NpgsqlConnection("server=localhost;user id=npgsql_tests;password=npgsql_tests"); }
#18
by Serginio1
Там же command = new NpgsqlCommand("select field_bytea from tableBytea where field_serial = (select max(select field_serial) from tableBytea);", conn);
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
В этой группе 1С
- Выбор 1с для сервисного центра+ выбор ПО.
- Как программно убрать условие из текста запроса, если не задан параметр?
- Конвертация данных. Изменение регистров документа после обмена.
- v7: Печать Чека (Атолл)
- Показатели для расчета заработной платы УПП
- Как из ФизЛица Вытянуть сотрудника ЗуП 2.5
- 0,5 ставки (сменный график 2х2) 4 часа в день
- ЗУП. Проблемы с отчетом "Штатная расстановка"
- Производство с использованием 40 счета в БП 3.0
- Уход от модальности в процедуре ПередНачаломРаботыСистемы.
- FPrint-02К не протягивает чековую ленту
- Как программно свернуть группировку строк Табличного документа.
- Вопрос по CRM и почте в УТ 10.3
- РедактированиеТекста = Ложь
- Как обновить классификатор банков на сервере?
- Динамический список + колонка заполняемая на клиенте
- v7: Несоответствие типов данных в выражении условия отбора ADO
- Повторно зайти в цикл
- Модуль в описании оповещения
- v7: Помогите выбрать номенклатуру 1С 7.7