This module provides access to the administrative functions of DB2 for Linux, Unix and Windows. The administrative functions are those functions not accessible through SQL, which normally require use of the DB2 command line processor (the ``db2'' command). IBM has been making some of these available through administrative view and the SYSPROC.ADMIN_CMD stored procedure.
Using these functions from perl is faster and can provide more detailed results than the command-line processor. For example, when reading configuration parameters, the administrative API will not just tell you which values are set to ``automatic'', but also which options support the ``automatic'' setting. In a similar manner, when loading data into a DPF database, the API returns detailed information for each node and agent, allowing far more fine-grained error handling.
The DB2 administrative function module provides the following functionality:
Operating System DB2 Version Perl Version ================ =========== ============ AIX (unknown release) 8.2 5.8 Red Hat EL 3 (x86) 8.2 5.8 Red Hat EL 3 (x86) 9.1 5.8 Red Hat EL 3 (x86) 9.5 5.8 Red Hat EL 4 (x86_64) 8.2 5.8 Red Hat EL 4 (x86_64) 9.1 5.8 Red Hat EL 4 (x86_64) 9.5 5.8 Red Hat EL 4 (x86_64) 9.5 5.10 Red Hat EL 5 (x86_64) 9.7 5.8 Solaris 10 (SPARC) 9.1 5.8 Solaris 10 (SPARC) 9.5 5.8 Windows Vista Business 9.5 5.8
You need to run the test portions under a userid with DB2 system administration privileges.
Make sure the pre-requisite module Params::Validate has been installed.
As a first step, set the environment variable DB2_VERSION to the DB2 release you have installed. For example, if you're running DB2 Viper (V9.1), do:
export DB2_VERSION=V9.1
If you're not on Linux, Solaris or AIX (or if you've installed DB2 in a different location than the Makefile.PL file expects), you also have to specify the path where the DB2 files can be found, for example:
export DB2_PREFIX=/opt/IBM/db2/V9.1
The common environment variables DBAPTH, DB2DIR and DB2_HOME can be used as well.
Please report the default prefix for platforms that the author doesn't have access to (i.e. not Linux, Solaris), so the module can support them in the future.
Then do:
perl Makefile.PL make
The test step requires you to create a SAMPLE database with a set of tables used for the export, import and load tests. The supplied ``create_test_db'' script will create the SAMPLE database using the IBM-supplied ``db2sampl'' utility and create some additional tables. Make sure you have sourced the DB2 environment before running the script.
create_test_db make test
You can run the tests against any other database you want, but please make sure you update the CONFIG file before running the test script.
Once the test completes, you can install the module with:
make install
The ActiveState Perl 5.8.8 for x64 is available for download built with Microsoft Visual C v6 with the freely available compiler in the ``Microsoft Windows 2003 Server SP1 Platform SDK''. It is necessary to use the same compiler to build any Perl modules that use the C language. For VS2005 and VS3008 modules do not bind against MSVCRT.DLL (but instead use MSVCR90.DLL or MSVCR71.DLL etc).
The filename (on FTP search) that contains the correct compiler is ``5.2.3790.2075.51.PlatformSDK_Svr2003R2_rtm.img'' (aka PSDK). It may not be available on Microsoft websites, but is available elsewhere. It is not possible to build modules with Visual-Studio-2005 or Visual-Studio-2008 and get them to work with the pre-built ActiveState Per 5.8.x (unless you also rebuild perl itself from sources with the same toolkit, something I did not attempt).
When DB2 is up and running (install as 'Administrator', then add target users to the DB2ADMNS or DB2USERS groups as appropriate), it is necessary to open a DB2CMD window , execute the PSDK ``setenv /XP64 /X64 /RETAIL'' in that window, and perform the build in that window. Then I ran the following sequence of steps.
set DB2_VERSION=V9.5 perl parse_constants.pl build/test/install Pod::Simple build/test/install Pod::Escapes build/test/install Test::Pod modify CONFIG appropriately perl create_test_db perl makefile.pl nmake nmake test
Hildo Biersma <Hildo.Biersma@MorganStanley.com>