Показать сообщение отдельно
Старый 10.06.2013, 13:17   #1  
Kainix is offline
Kainix
Участник
 
47 / 96 (4) ++++
Регистрация: 22.11.2007
Работа со сторонней базой через X++
Добрый день.

Пытаюсь реализовать функционал хранения файлов в базе, но не в текущей, с которой работает аос, а со сторонней. Для этого на том же экземпляре SQL создал тестовую базу с 1й таблицей, которая состоит из 2х полей Int64(BigInt) и Container(Image).
И пытаюсь записывать туда файлы ссылкой по RecId на DocuValue.

В принципе через ADODB, это получилось. Но там нет красивости кода. Поэтому пытаюсь написать полноценную обертку основываясь для работы с SQL на System.Data.SqlClient. И я воткнулся в следующие проблемы.
1. Это как передать в System.Data.SqlClient.SqlParameter BinData.
2. Это перехват исключений

По пункту 1 посмотрел темы по работе с ContainerClass, BinData, хочется понять как сама аксапта засовывает контейнеры в SQL именно в поле image, для того чтобы м.б. в дальнейшем сделать можно было расширять обертку.
По пункту 2 пробовал пользоваться
X++:
try
{
 ...
}
catch(Exception::CLRError)
{
        e = CLRInterop::getLastException();
}
Объект System.Exception всегда пустой не понятно почему не возвращает, хотя в блок catch попадает.

Спасибо.