**********************************************************************
*
*  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
****************************************************************************