http://ODBCrouter.com/ipad (new) now has XCode client-side libraries, header files and Objective C objects that let your apps do multi-threaded ODBC using server-side drivers.
That lets you use regular SQL or call stored-procedures instead of separately maintaining SOAP/REST services which is pretty frightening to do after you have a large number of live users. The ODBCrouter stuff is not free, but it is always cheaper than the manpower cost of developing SOAP/REST services and the Cocoa Touch side, little known maintaining it.
The whole prior alternative scheme, XML, was okay for transferring static configurations to mobile devices "every once in a while", but it was really only designed for exchanging data between batch-jobs or companies in a "server environment" (power cords and air conditioning) and is definitely not efficient for frequent database queries coming in from n-copies of a mobile app. Aside from the higher network overhead and battery power the mobile CPU will draw with XML, it will also make you buy more RAM and CPU power on the back-end server faster than just using ODBC. That said, make sure your queries are laser efficient (try to use only stored procedures and/or triggers and only select columns you need --avoiding wildcards and limiting result sets to only what's likely to be useful to the user).