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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 23.10.2018, 03:01   #1  
pedrozzz is offline
pedrozzz
Молодой, подающий надежды
Аватар для pedrozzz
MCBMSS
Лучший по профессии 2015
 
164 / 218 (8) ++++++
Регистрация: 18.02.2010
Адрес: Краснодар
D365FO - импорт файлов периодической операцией через BULK INSERT
Процесс:
  1. Некая сторонняя система или человек выкладывает файл в некий каталог
  2. Периодическая операция в аксапте видит новые файлы и вызывает хранимую процедуру на SQL, в которую параметром передается путь к файлу
  3. SQL засасывает содержимое через BULK INSERT и возвращает либо Ок, либо ошибку
  4. В зависимости от ответа файл перемещается либо в каталог архива, либо в ошибки
На Ax2012 задача решалась просто, через сетевую шару и настройку доступа к каталогам всем, кому надо.

В D365FO насколько я понял аналог сетевой шары можно сделать через Azure File Storage, который можно замаунтить и использовать, как диск. Но во всех примерах с Azure BULK INSERT используется Blob storage, который, как я понял, замаунтить нельзя.

Вопросы к тем, кто, может быть, уже решал аналогичную задачу.
  1. Можно ли на SQL использовать в качестве external datasource не Blob, а File storage?
  2. Если нет, то как быть?

На второй вопрос пока вижу ответ, средствами Ах копировать из File в Blob, передавать на SQL Blob, после успешной/неуспешной вставки данных этот Blob удалять и манипулировать дальше с File опять из Ах. Но как-то сложно это всё выглядит Может есть путь проще? Размеры файлов, кстати, от 4 до 10 Гб, как там с копированием File -> Blob? Оно в облаках выполняется или сначала скачивается файл, а потом закачивается обратно?
__________________
Кононов Пётр
Старый 23.10.2018, 08:24   #2  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
https://github.com/Microsoft/Recurri...ions-Scheduler
__________________
-ТСЯ или -ТЬСЯ ?
За это сообщение автора поблагодарили: pedrozzz (2).
Старый 23.10.2018, 09:07   #3  
trud is offline
trud
Участник
Лучший по профессии 2017
 
1,039 / 1630 (57) ++++++++
Регистрация: 07.06.2003
Записей в блоге: 1
https://community.dynamics.com/365/f...e-file-storage
можно наверное прочитать во временную таблицу и сделать insert_recordset или типа того
За это сообщение автора поблагодарили: pedrozzz (2).
Старый 23.10.2018, 09:41   #4  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Цитата:
Сообщение от trud Посмотреть сообщение
https://community.dynamics.com/365/f...e-file-storage
можно наверное прочитать во временную таблицу и сделать insert_recordset или типа того
уверен, что наверняка есть способы и позамороченнее, только вот RIS в связке со стандартным data management работает "из коробки"
__________________
-ТСЯ или -ТЬСЯ ?
Старый 23.10.2018, 09:42   #5  
pedrozzz is offline
pedrozzz
Молодой, подающий надежды
Аватар для pedrozzz
MCBMSS
Лучший по профессии 2015
 
164 / 218 (8) ++++++
Регистрация: 18.02.2010
Адрес: Краснодар
Цитата:
Сообщение от trud Посмотреть сообщение
https://community.dynamics.com/365/f...e-file-storage
можно наверное прочитать во временную таблицу и сделать insert_recordset или типа того
Эта ссылка есть у меня среди прочих в исходном сообщении, но спасибо за ответ. Как вы верно заметили insert_recordset сделать можно, так и было сделано ранее, но всё упёрлось в производительность именно чтения файла из Ах. Было достаточно медленно, файл содержит несколько десятков миллионов записей. Не знаю, как оптимизирован BULK INSERT, но он справляется с поставленной задачей за считанные минуты. Теперь вот заново приходится переизобретать велосипед.
__________________
Кононов Пётр
Старый 23.10.2018, 09:46   #6  
pedrozzz is offline
pedrozzz
Молодой, подающий надежды
Аватар для pedrozzz
MCBMSS
Лучший по профессии 2015
 
164 / 218 (8) ++++++
Регистрация: 18.02.2010
Адрес: Краснодар
Цитата:
Спасибо за ссылку, почитаю. Пока не совсем понял, как оно может помочь. Здесь полный цикл в том числе и механизмы для импорта файлов? Или оно только помогает раскидывать файлы по каталогам? Как оно ведет себя с большими и очень большими файлами? Пока интересуют около 10 Гб и до 100 миллионов записей в файле.
__________________
Кононов Пётр
Старый 23.10.2018, 09:51   #7  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Цитата:
Сообщение от pedrozzz Посмотреть сообщение
Спасибо за ссылку, почитаю. Пока не совсем понял, как оно может помочь. Здесь полный цикл в том числе и механизмы для импорта файлов? Или оно только помогает раскидывать файлы по каталогам? Как оно ведет себя с большими и очень большими файлами? Пока интересуют около 10 Гб и до 100 миллионов записей в файле.
Полный цикл. Забрасывает файл через HTTP, файл попадает в BLOB, а потом передает его в DIXF aka Data management aka Recurring integration.
За это сообщение автора поблагодарили: pedrozzz (2).
Старый 23.10.2018, 10:08   #8  
DSPIC is offline
DSPIC
Боец
 
1,077 / 1238 (44) ++++++++
Регистрация: 11.04.2008
Или через SFTP:

Renci.SshNet

Обертка для D365
SFTP.ZIP
За это сообщение автора поблагодарили: pedrozzz (2).
Теги
d365fo, data management, recurring integration

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Взаимодействие с Excel через .NET (семейство классов SysExcel) gl00mie DAX: Программирование 102 11.08.2022 17:09
AX 2012 R2: импорт данных через Excel Add-in и добавление поля в стандартную таблицу Kabardian DAX: Программирование 1 13.02.2014 22:40
Импорт договоров покупки AX2012 через Excel Add-in Daar DAX: Функционал 1 25.06.2013 19:27
Ошибка с подключением через ODBC + глюк с работой через connection Corel DAX: Программирование 8 17.05.2012 11:58
Arijit Basu: Dynamics AX 2009 Bulk Data insert using SSIS Blog bot DAX Blogs 0 09.03.2010 10:05

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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 23:09.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.