AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 13.06.2013, 08:28   #2  
Kainix is offline
Kainix
Участник
 
47 / 96 (4) ++++
Регистрация: 22.11.2007
Решение вопросов.
1. Записывать в базу контейнера как аксапта это делает (получается такой же Image)
X++:
conClass = new ContainerClass(con);
binData = new BinData();
binData.setData(conClass.toBlob());
string = binData.base64Encode();
clrObject = System.Convert::FromBase64String(string);
//clrObject отправляем в System.Data.SqlClient.SqlParameter.Value
На выходе получаем byte[], который пригоден для записи в базу.
2. Выяснилось что SQL генерирует разные уровни оповещений, и не все являются ошибками, которые перехватывает метод CLRInterop::getLastException().
Также хочу заметить что аксапта не может использовать нетовские handler(обработчик событий. Поэтому
Решение - написание библиотеки, которая в себе содержит функции обработки событий и возвращает готовые исключения типа SqlException или Exception, либо это info от sql типа SqlInfoMessageEventArgs
X++:
public class SysSqlCommand
    {
        SqlCommand      sqlComm;
        SqlException    sqlEx;
        Exception ex;

        public SysSqlCommand(SqlCommand _sqlComm)
        {
            this.sqlComm = _sqlComm;
        }
        public void ExecuteNonQuery()
        {
            try
            {
                sqlComm.ExecuteNonQuery();
            }
            catch (SqlException _ex)
            {
                sqlEx = _ex;
                throw;
            }
            catch (Exception _ex)
            {
                ex = _ex;
                throw;
            }
        }
        public SqlException sqlException()
        {
            return sqlEx;
        }
        public Exception exception()
        {
            return ex;
        }
    }
Вот как то так.
Теги
ado, внешняя база

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Взаимодействие с Excel через .NET (семейство классов SysExcel) gl00mie DAX: Программирование 102 11.08.2022 17:09
Ошибка с подключением через ODBC + глюк с работой через connection Corel DAX: Программирование 8 17.05.2012 11:58
Работа с Excel через COM нестабильна на x64 Максимка DAX: Программирование 6 27.01.2012 12:52
работа 1С из Аксапты через COM _scorp_ DAX: Программирование 7 22.08.2008 15:45
Работа с обычными отчетами через Enterprise Portal OliaM DAX: Программирование 0 17.01.2005 16:53

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 19:34.