Contents v
4.5.1 IBM IBM_DB gem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
4.5.2 Installation of IBM_DB gem. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
4.5.3 Creating a sample Ruby application . . . . . . . . . . . . . . . . . . . . . . . . 183
4.5.4 Deploying a Ruby application with the DB2 drivers . . . . . . . . . . . . 183
4.5.5 Help and support. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
4.6 Python. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
4.6.1 IBM_DB driver. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
4.6.2 IBM_DB_DBI wrapper. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
4.6.3 IBM_DB_SA adaptor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190
4.6.4 Installation of IBM Python drivers . . . . . . . . . . . . . . . . . . . . . . . . . . 190
4.6.5 Creating a sample Python application. . . . . . . . . . . . . . . . . . . . . . . 192
4.6.6 Deploying a Python application with the DB2 drivers . . . . . . . . . . . 193
4.6.7 Help and support. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
4.7 Perl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
4.7.1 DBD::DB2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 199
4.7.2 Installation of IBM Perl driver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
4.7.3 Creating a sample Perl application . . . . . . . . . . . . . . . . . . . . . . . . . 202
4.7.4 Deploying a Perl application with the DB2 drivers . . . . . . . . . . . . . 203
4.7.5 Help and support. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
4.8 .NET . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
Chapter 5. Deploying pre-configured databases . . . . . . . . . . . . . . . . . . . 213
5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 214
5.1.1 Sample database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215
5.2 Deploying a database using scripts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 16
5.2.1 Collecting information about the database . . . . . . . . . . . . . . . . . . . 217
5.2.2 Using a shell script . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222
5.2.3 Using an application . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
5.3 Deploying a database using a backup image . . . . . . . . . . . . . . . . . . . . . 231
5.4 Populating the database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
5.4.1 Using SQL statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
5.4.2 Using DB2 utilities. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
5.5 Updating an existing installation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240
5.5.1 Updating non-table objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
5.5.2 Updating table objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242
5.5.3 Automating update using DB2 metadata with a Java application . . 246
5.5.4 Alternatives: DB2 tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
5.6 Samples overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
5.6.1 Scripts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
5.6.2 Shell scripts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
5.6.3 Java applications. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 55
Appendix A. Sample applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259