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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 02.12.2011, 10:34   #1  
Stainless is offline
Stainless
Участник
MCBMSS
Columbus IT
 
34 / 114 (4) +++++
Регистрация: 26.01.2007
! Чтение файлов, сохраненных в базе данных
Возник вопрос, можно ли каким то образом извлечь файл напрямую из SQL без обращения к Аксапте (файл сохранен в базе данных в поле типа Container с помощью функционала BinData)
Старый 02.12.2011, 10:41   #2  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
смотрите как хранится и обрабатывается лого компании в "Данные о компании", кнопка Изображение.
__________________
полезное на axForum, github, vk, coub.
Старый 02.12.2011, 10:51   #3  
Stainless is offline
Stainless
Участник
MCBMSS
Columbus IT
 
34 / 114 (4) +++++
Регистрация: 26.01.2007
Интересует именно чтение файлов напрямую из SQL, без обращения в Аксапте, в приведенном примере используется класс BinData
Старый 02.12.2011, 11:46   #4  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Прочитать изображение или файл из таблицы бызы данных Axapta из стороннего приложения
Цитата:
Решение - выкинуть вставляемые Axapta шесть первых байт данных
За это сообщение автора поблагодарили: Stainless (1).
Старый 05.12.2011, 10:28   #5  
dech is offline
dech
Участник
Аватар для dech
Самостоятельные клиенты AX
 
647 / 350 (13) ++++++
Регистрация: 25.06.2009
Адрес: Омск
Записей в блоге: 3
Можно использовать два класса Connection и Statement, первый из которых создает подключение к базе данных, а второй, используя это подключение, обращается к ней посредством выполнения SQL-запросов. Инициализация этих классов проходит следующим образом:
X++:
Connection  connection  = new Connection();
Statement   statement   = connection.createStatement();
Метод statement.executeQuery(str _statement) возвращает выборку записей в класс ResultSet. Обработку записи проводит класс ResultSetMetaData, с помощью которого можно извлечь не только информацию о данных, а также о полях и некоторых прочих подробностях выполненного запроса:
X++:
while (resultSet.next())
{
    resultSetMetaData = resultSet.getMetaData();
    // Обработка записи
}
__________________
// no comments
Старый 26.12.2011, 16:37   #6  
DreamCreator is offline
DreamCreator
Moderator
Аватар для DreamCreator
Axapta Retail User
 
553 / 45 (3) +++
Регистрация: 04.11.2004
Адрес: Казань
?
А не подскажете как прочитать картинку в Аксапте из resultSet?
(цель - перелить картинки из одной базы в другую)

X++:
static void importPicture(Args _args)
{
    QueryText   queryText;
    Connection  connection = new Connection();
    Statement   statement = connection.createStatement();
    ResultSet   resultSet;
    ResultSetMetaData   r;
    ;

    queryText = @"SELECT origItemId, Phantom, PictureLarge, PictureSmall FROM [192.168.3.40].[Test2].[dbo].[InventTable]
        where [Phantom] = 1";

    resultSet = statement.executeQuery(queryText);

    while (resultSet.next())
    {
        // Вот тут не знаю каким методом recordSet получить картинку
        r = resultSet.getMetaData();
        print resultSet.getString(1);
    }
}

Последний раз редактировалось DreamCreator; 26.12.2011 в 17:25.
Старый 18.01.2012, 14:59   #7  
S.Kuskov is offline
S.Kuskov
Участник
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
3,440 / 1775 (66) ++++++++
Регистрация: 28.04.2007
Адрес: Калуга
Цитата:
Сообщение от DreamCreator Посмотреть сообщение
А не подскажете как прочитать картинку в Аксапте из resultSet?
Если ещё актуально, то вот в этой ветке автор говорит что у него получилось сделать то о чём вы справшивали: запись в поле Binary
Цитата:
Сообщение от blackjack Посмотреть сообщение
использую BinData, формируемый из ResultSet.getString()
За это сообщение автора поблагодарили: DreamCreator (2).
Старый 18.01.2012, 16:16   #8  
DreamCreator is offline
DreamCreator
Moderator
Аватар для DreamCreator
Axapta Retail User
 
553 / 45 (3) +++
Регистрация: 04.11.2004
Адрес: Казань
Thumbs up
Цитата:
Сообщение от S.Kuskov Посмотреть сообщение
Если ещё актуально, то вот в этой ветке автор говорит что у него получилось сделать то о чём вы справшивали: запись в поле Binary
Спасибо! Тогда не разобрался - сделал напрямую между SQL серверами.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Создание снимков изменений в базе данных Ace of Database DAX: Программирование 17 01.11.2011 12:34
Ошибка при доступе к подключению к базе данных Ark DAX: Администрирование 11 01.06.2009 08:17
Ошибка при присоединении к базе данных serg_ DAX: Администрирование 1 18.11.2008 11:36
Чтение данных за пределами файла, временная таблица zemlyn DAX: Программирование 0 05.12.2005 18:32
Разрешение на доступ к базе данных nicko DAX: Администрирование 3 18.05.2004 18:49
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

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

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

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