This type of form is possible. The architecture and method may be a bit different.
The best practice is to use web services to communicate between your InfoPath form and SQL. That was how it was designed. As you have seen, the default, basic database conectivity in InfoPath has some limitations.
If you want, send me an email and I could show you some examples.