views:

59

answers:

2

So this question is more around the design decision than anything else.Essientially, I want to build a iPhone/iPad app that will allow users to manage their database. Now there are two ways of doing this (i think).

  1. Create native objective-c drivers for each database that provide a complete wrapper around creating/managing databases (tables, run query etc)

OR

  1. Create a web service that does all the talking and provides a generic interface (JSON or XML) to Objective-c layer.

Which one would be better? what could be the pros and cons?

A: 

If you want a self-contained app, then the first option is obviously preferable. As far as MySQL goes, you may even find some of the Objective-C work done for you.

Alex Reynolds
Thanks Alex. I will see if I can use that in an iPhone app. Cheers
John Stewart
A: 

http://ODBCrouter.com/ipad (new) provides everything you need to talk to just about any database (MySQL, SQLServer, etc.. but also those embedded in products like QuickBooks Pro and MYOB) using industry standard ODBC programming calls. This includes functions like SQLBrowseConnect, SQLDataSources, SQLTables and SQLColumns that allow your app to "dynamically" figure out what databases are available, what information is needed to login to them, what tables they have and what columns they have, as well as the datatype of each column --all with only a few lines of code. The client-side XCode libraries are free, the database can be on anything (OS X, Linux, IBM iSeries, Windows, etc..) but the server-side ODBC drivers and ODBC Router must run on a Windows PC or VM somewhere and the small ODBC Router component that works the magic costs money (about the same as a TV set) which obviously saves you a tremendous amount of labor.

AugSoft Tom