AXForum  
Go Back   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Forgotten Your Password?
Register Forum Rules FAQ Members List Today's Posts Search Mark Forums Read

 
 
Thread Tools Search this Thread Display Modes
Old 23.10.2018, 03:01   #1  
pedrozzz is offline
pedrozzz
Молодой, подающий надежды
pedrozzz's Avatar
MCBMSS
Лучший по профессии 2015
 
164 / 218 (8) ++++++
Join Date: 18.02.2010
Location: Краснодар
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? Оно в облаках выполняется или сначала скачивается файл, а потом закачивается обратно?
__________________
Кононов Пётр
Old 23.10.2018, 08:24   #2  
Vadik is offline
Vadik
Модератор
Vadik's Avatar
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1853 (69) ++++++++
Join Date: 18.11.2002
Location: гражданин Москвы
https://github.com/Microsoft/Recurri...ions-Scheduler
__________________
-ТСЯ или -ТЬСЯ ?
This post has been rated by: pedrozzz (2).
Old 23.10.2018, 09:07   #3  
trud is offline
trud
Участник
Лучший по профессии 2017
 
1,039 / 1635 (57) ++++++++
Join Date: 07.06.2003
Blog Entries: 1
https://community.dynamics.com/365/f...e-file-storage
можно наверное прочитать во временную таблицу и сделать insert_recordset или типа того
This post has been rated by: pedrozzz (2).
Old 23.10.2018, 09:41   #4  
Vadik is offline
Vadik
Модератор
Vadik's Avatar
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1853 (69) ++++++++
Join Date: 18.11.2002
Location: гражданин Москвы
Quote:
Originally Posted by trud View Post
https://community.dynamics.com/365/f...e-file-storage
можно наверное прочитать во временную таблицу и сделать insert_recordset или типа того
уверен, что наверняка есть способы и позамороченнее, только вот RIS в связке со стандартным data management работает "из коробки"
__________________
-ТСЯ или -ТЬСЯ ?
Old 23.10.2018, 09:42   #5  
pedrozzz is offline
pedrozzz
Молодой, подающий надежды
pedrozzz's Avatar
MCBMSS
Лучший по профессии 2015
 
164 / 218 (8) ++++++
Join Date: 18.02.2010
Location: Краснодар
Quote:
Originally Posted by trud View Post
https://community.dynamics.com/365/f...e-file-storage
можно наверное прочитать во временную таблицу и сделать insert_recordset или типа того
Эта ссылка есть у меня среди прочих в исходном сообщении, но спасибо за ответ. Как вы верно заметили insert_recordset сделать можно, так и было сделано ранее, но всё упёрлось в производительность именно чтения файла из Ах. Было достаточно медленно, файл содержит несколько десятков миллионов записей. Не знаю, как оптимизирован BULK INSERT, но он справляется с поставленной задачей за считанные минуты. Теперь вот заново приходится переизобретать велосипед.
__________________
Кононов Пётр
Old 23.10.2018, 09:46   #6  
pedrozzz is offline
pedrozzz
Молодой, подающий надежды
pedrozzz's Avatar
MCBMSS
Лучший по профессии 2015
 
164 / 218 (8) ++++++
Join Date: 18.02.2010
Location: Краснодар
Quote:
Спасибо за ссылку, почитаю. Пока не совсем понял, как оно может помочь. Здесь полный цикл в том числе и механизмы для импорта файлов? Или оно только помогает раскидывать файлы по каталогам? Как оно ведет себя с большими и очень большими файлами? Пока интересуют около 10 Гб и до 100 миллионов записей в файле.
__________________
Кононов Пётр
Old 23.10.2018, 09:51   #7  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Join Date: 09.07.2002
Location: Parndorf, AT
Quote:
Originally Posted by pedrozzz View Post
Спасибо за ссылку, почитаю. Пока не совсем понял, как оно может помочь. Здесь полный цикл в том числе и механизмы для импорта файлов? Или оно только помогает раскидывать файлы по каталогам? Как оно ведет себя с большими и очень большими файлами? Пока интересуют около 10 Гб и до 100 миллионов записей в файле.
Полный цикл. Забрасывает файл через HTTP, файл попадает в BLOB, а потом передает его в DIXF aka Data management aka Recurring integration.
This post has been rated by: pedrozzz (2).
Old 23.10.2018, 10:08   #8  
DSPIC is offline
DSPIC
Боец
 
1,077 / 1243 (44) ++++++++
Join Date: 11.04.2008
Или через SFTP:

Renci.SshNet

Обертка для D365
SFTP.ZIP
This post has been rated by: pedrozzz (2).
Tags
d365fo, data management, recurring integration

 

Similar Threads
Thread Thread Starter Forum Replies Last Post
Взаимодействие с 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
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Рейтинг@Mail.ru
All times are GMT +3. The time now is 15:40.
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Contacts E-mail, Advertising.