Hi Dipti,
SSIS is the better option in the case of importing large data to SQL Server. But if you still want to implement this scenario in BizTalk, youre ready
and aware of performance degradation you would get using BizTalk compared to SQL SSIS.
In BizTalk to handle this requirement, you have two options:
Common ways:
- Split the message at receive port level into multiple messages and insert the multiple instance into SQL.
- Split the message at orchestration by calling the Flat File Disassembler pipeline component. Loop through the multiple messages and insert the multiple messages into SQL. This would reduce
the number message instance published into message box db.
Either way, with millions of record in hand, these way would have high performance impact, so processing would be very slow.
Batch import Better way:
In this batch import scenario, this doesnt involve any orchestration but is a pure messaging scenario and you can do all the transformation on the ports(BizTalk
Server 2006 onwards, large messages will be mapped by the new large message transformation engine, which buffers message data to the file system, keeping the memory consumption flat). Hence the better
performance.
Refer
this article for the details on this batch import method. You can also find
sample solution using batch import.