Negotiating the IBM DB2 version maze

Suppose you want to install a DB2 server, and connect to it from some client software. If you browse the IBM DB2 Software pages, you’ll soon find that there’s a bewildering array of products with confusingly similar names. For example, IBM Data Server Client and IBM Data Server Runtime Client are two different things.

Fortunately, help is at hand. Paul Zikopoulos has written several articles for IBM developerWorks describing the differences between the different DB2 client and server options.

Compare the distributed DB2 9.7 database servers does just that. Which DB2 9.5 client connectivity option is right for you? answers the same kinds of questions from the client side of the problem.

For example, on the server side, I work in an environment where requirements are constantly changing. Online table reorganization is a big plus for me, as it means I shouldn’t ever have to take applications down in order to modify data structures. That points me at DB2 Workgroup as my most lightweight server option. On the client side, I use Java and Ruby, and don’t care at all about .NET or Visual Studio, so I only need the IBM Data Server Runtime Client, which includes a prebuild Ruby Gem (for Ruby 1.8.x only, sadly) and the Java Type IV JDBC driver db2jcc4.jar.

If you want Ruby 1.9 support, you need the larger Data Server Client so you can compile a newer version of the Gem from source. You also need to do a custom install, and check “Base application development tools” under “Application development tools”, or else you’ll find that Gem building fails when it can’t find sqlcli1.h.