A single 5-million row INSERT can be a huge problem, it may fill up the transaction log even if the database is in simple recovery. A minimally-logged bcp insert is probably the best way to handle it as one file while minimizing this impact.
FYI, SSIS does not generate a single insert when loading data to a table. Also, 5 million rows is not a huge insert that would take multiple hours. Even my laptop could handle that within a few minutes.
I think it might, depending on the settings for 'Rows Per Batch' and 'Maximum Insert Commit Size'.
If you haven't even tried to resolve your issue, please don't expect the hard-working volunteers here to waste their time providing links to answers which you could easily have found yourself.