Submitting to SQL is a classic InfoPath problem. Here's what was discussed in an earlier thread:
If you create your form using an XML Schema
(File->Design...->New from Blank) you can't submit directly to a
DB. That's because the schema is XML and not based off SQL data types.
Submitting directly to a DB after form creation was never an option in
InfoPath.
If you create your form from a DB, you already have the submit data
connection built in.
Best practice here is to submit to a Web Service as an XML string.
Have the Web Service handle the mapping to SQL. Then, one Web Service
can handle any form. This is the way Qdabra's Web Service Suite (DBXL)
works. Free downloads and very inexpensive licenses will save you a lot
of time and money.
I found other previous discussions which all point to similar solutions:
(a) You create a db-bound form.
(b) You write your own web service.
(c) You use something like DBXL to map the data.
This is a great post which covers b and c. Good luck!