Timothy Madden wrote:
[cross-posted on .databases.informix and .databases.ibm.db2]
Hello
I have an application using an internal database (user doesn't know
about it) and I would like to know if I can use some IBM product with a
run-time that I could emmbed in my app and redistribute, to provide SQL
access to database and possibly to let me create the database on first
run (after my app is installed). All that without the user having to
provide me an working instalation of a server. I would like just some
lite run-time to do the job. That is I am looking for a replacement to
Microsoft JET and MDAC.
Does anyone know an appropriate product from IBM that could do what I need
?
I tried searching IBM sites for DB2 and Informix and found nothing
relevant :(
There are a number of companies who embed DB2 into their products with the
number growing with each release. The downside is that DB2 is still a
server (even if you turn off remote connections), and that you are still
limited to a single copy of DB2 on the system (i.e., if your customer
wanted to use both your product and to use DB2 normally, on the same
machine, they would have to be the same copy).
The real big upside to using DB2 (or Informix or ...) is the wealth of
experience that their code brings to your product. This can be a real
value-add for larger clients where they may outgrow a single computer and
need to cluster, for example. Or just in the fact that you no longer need
to worry about ACID requirements or backups/restores (you may just need to
provide an interface to the backup/restore functionality if you want to
hide the underlying database).
With DB2 as the example (since I don't know Informix), you can embed DB2 by
using the silent (response-file) install. You may also look into the
db2iprune tool if you're on Windows in order to remove optional components
that you don't want so as to shrink the size of the DB2 image and possibly
fit both your application and DB2 on the same CD if that's how you
distribute your software. (You can do the same on unix/linux, but the tool
is called 'rm' - I'd go into more detail, but I think you're worried only
about Windows.)
In that response file, you can install and set up DB2 for immediate use.
Then you can create any databases and start using the product immediate as
part of your own. I don't think the learning curve to do this is very
large at all - if you can write C++, this should be trivial ;-)