********************************************************************** * * README file for CLI Samples * DB2 Universal Database for Windows 32-bit operating systems * * Last update : November, 1999 * * These programming examples are for the "C" programming language, and can be * found in the "sqllib/samples/cli" directory of the database instance. Copy * these files to your working directory prior to building the sample programs. * * WARNING: Some of these samples may change your database or database manager * configuration. Execute the samples against a 'test' database only, * such as the DB2 SAMPLE database. * ********************************************************************** * QUICKSTART * * 1) Copy /sqllib/samples/cli/* to a working directory * 2) Modify the makefile to reflect your environment: * o set UID * o set PWD * o set DB * 4) Excute 'make all' from the working directory * ********************************************************************** * * For more information on programming in CLI see the: * o "Building CLI Applications" section of the Application Building Guide * o CLI Guide and Reference. * o the CLI makefile * * For more information on the SQL language see the SQL Reference. * * For the latest information on programming, compiling, and running DB2 * applications, refer to the DB2 application development website at * http:// www.software.ibm.com/data/db2/udb/ad * ********************************************************************** * * File Descriptions: * ********************************************************************** README - this file! makefile - makefile for all files ********************************************************************** *Common Utility Functions * * utilcli.c - Error-checking utility file for CLI programs. * utilcli.h - Header file for utilcli.c * utilapi.c - Error-checking utility file for CLI programs with DB2 APIs. * utilapi.h - Header file for utilapi.c *********************************************************************** *Application Level (programs that deal with the application level of * DB2/CLI). * apinfo.c - How to get and set application level information. aphndls.c - How to allocate and free handles. apsqlca.c - How to work with SQLCA data. ************************************************************************ *Installation Image Level (programs that deal with the installation image * level of DB2 and CLI.) * ilinfo.c - How to get and set installation level information (such as the version of the CLI driver). ************************************************************************* *Instance Level (programs that deal with the instance level of DB2 and CLI). * ininfo.c - How to get and set instance level information. ************************************************************************* *Database Level (programs that deal with database objects in DB2). * dbconn.c - How to connect and disconnect from a database. dbinfo.c - How to get and set information at a database level. dbmconn.c - How to connect and disconnect from multiple databases. dbmuse.c - How to work perform transactions with multiple databases. dbnative.c - How to translate a statement that contains an ODBC escape clause to a data source specific format. dbuse.c - How to work with database objects. dbusemx.sqc - How to use a single database in conjunction with embedded SQL. *************************************************************************** *Table Level (programs that deal with table objects in DB2). * tbconstr.c - How to work with table constraints. tbdefine.c - How to create, alter, and drop tables. tbinfo.c - How to get and set information at a table level. tbmod.c - How to modify information in a table. tbread.c - How to read information in a table. *************************************************************************** *Data Type Level (programs that deal with data types). * dtinfo.c - How to get information about data types dtlob.c - How to read and write LOB data. dtudt.c - How to create, use, and drop user defined distinct types. *************************************************************************** *UDF Level (programs that demonstrate user defined functions). * udfcli.c - Client application which calls the user defined function in udfsrv.c udfsrv.c - User defined function ScalarUDF called by udfcli.c sample. *************************************************************************** *Stored Procedure Level - Samples that demonstrate stored procedures in CLI. * spcreate.db2 - CLP script to issue CREATE PROCEDURE statements spdrop.db2 - CLP script to drop stored procedures from the catalog spclient.c - Client application that calls all of the stored procedures. spserver.c - Stored procedure functions built and run on the server To build the spserver DLL: 1. To allow unloading DLLs while developing stored procedures, enter: "db2 update dbm cfg using KEEPDARI no". 2. For Microsoft Visual C++, enter either "bldmsrv spserver" or "nmake spserver". For VisualAge C++, enter either "bldvsrv spserver" or "nmake spserver". 3. Enter: "db2 connect to sample". 4. If the stored procedures were previously cataloged for a different language, uncatalog them by entering: "db2 -td@ -vf spdrop.db2". 5. Catalog the stored procedures by entering: "db2 -td@ -vf spcreate.db2". *************************************************************************** *Build Files * bldmapi.bat - Builds a Microsoft Visual C++ CLI application program with DB2 APIs. bldmcli.bat - Builds a CLI program. bldclis.bat - Builds a CLI stored procedure. bldvapi.bat - Builds a CLI program with IBM VisualAge C++. bldvcli.bat - Builds a CLI program with IBM VisualAge C++. bldvclis.bat - Builds a CLI stored procedure using the IBM VisualAge C++ compiler. embprep.bat - Precompiles and binds embedded SQL programs. *************************************************************************** *Configuration Files * cli.icc - Used for DB2 CLI applications for VisualAge C++ Version 4.0 clis.icc - Used for DB2 CLI stored procedures for VisualAge C++ Version 4.0 ****************************************************************************