Показать сообщение отдельно
Старый 26.04.2021, 21:58   #57  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,652 / 1158 (42) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Судя по дискуссии, заданный вопрос большинство поняли не так, как надеялся автор. Правильно ли я понимаю, что

1. Речь идет о передаче между системами данных, часть из которых может физически не хранится в базе данных MS SQL
2. Речь идет о передаче большого объема данных
3. Система интеграции уже выбрана. Это некая система, реализованная на базе WCF
4. У WCF есть ограничение на размер одного передаваемого сообщения. Т.е. все данные в одном сообщении передать нельзя

Т.е. вопрос сводится к тому "как правильно" порезать на куски все передаваемые данные, если эти данные разных типов. Нет единого правила, кроме предельного размера.

---------------------------------------------

Если в качестве интеграционных сообщений используются XML, то можно копировать данные из Axapta в базу MS SQL перед выгрузкой. Это к вопросу о том, что часть данных нет в базе MS SQL.

Тут идея в том, что для формирования XML можно было бы использовать синтаксис SQL (select ... for xml).

Во-первых, это должно быть быстрее, чем формировать тот же XML в среде Axapta, а, во-вторых, можно заранее оценить размер итогового XML и "резать" по номерам записей в таблице для выгрузки

Ну, и обратный парсинг из XML в среде MS SQL тоже должен работать быстрее.


Цитата:
Сообщение от AlexMoskvichev Посмотреть сообщение
Или вообще,
Write CSV -> 7zip -> SFTP -> 7zip ->Read CSV
Или более современно, в parquet
Может оказаться вполне быстро и автоматизировать не сложно.
Через WCF можно управляющие команды подать, с метаданными файла
Тут имеется в виду, что все 100500 элементов сначала выгружаются в один общий файл, потом этот файл формально режется архиватором на многотомный архив и через WCF передаются строго одинаковые бинарные файлы. А на принимающей стороне этот архив собирается и извлекается
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...