DBXL allows you to map your InfoPath XMLs to both a SQL database and a SharePoint form library.
If you have file attachment within that InfoPath XML, and want those to be saved separately (to a document library, for example), there's nothing out of the box in InfoPath that I can recommend, but you can try qRules. For information on the scenario, check out this document.
Good luck.