The example code fragments used throughout this book can all be found in the samples/cli (or samples\cli) subdirectory of the sqllib directory. The README file contains a complete description of each file, and describes how to use the makefile to build all the samples.
The following table lists each of the DB2 CLI samples.
Table 221. Sample CLI Programs in DB2 Universal Database
Sample Program Name | Program Description | ||
---|---|---|---|
Utility files used by most CLI samples | |||
samputil.c | Utility functions used by most samples | ||
samputil.h | Header file for samputil.c, included by most samples | ||
General CLI Samples | |||
adhoc.c | Interactive SQL with formatted output (was typical.c) | ||
async.c ** | Run a function asynchronously (based on fetch.c) | ||
basiccon.c | Basic connection | ||
browser.c | List columns, foreign keys, index columns or stats for a table | ||
colpriv.c | List column Privileges | ||
columns.c | List all columns for table search string | ||
compnd.c | Compound SQL example | ||
datasour.c | List all available data sources | ||
descrptr.c ** | Example of descriptor usage | ||
drivrcon.c | Rewrite of basiccon.c using SQLDriverConnect | ||
duowcon.c | Multiple DUOW Connect type 2, syncpoint 1 (one phase commit) | ||
embedded.c | Show equivalent DB2 CLI calls, for embedded SQL (in comments) | ||
fetch.c | Simple example of a fetch sequence | ||
getattrs.c | List some common environment, connection and statement options/attributes | ||
getcurs.c | Show use of SQLGetCursor, and positioned update | ||
getdata.c | Rewrite of fetch.c using SQLGetData instead of SQLBindCol | ||
getfuncs.c | List all supported functions | ||
getfuncs.h | Header file for getfuncs.c | ||
getinfo.c | Use SQLGetInfo to get driver version and other information | ||
getsqlca.c | Rewrite of adhoc.c to use prepare/execute and show cost estimate | ||
lookres.c | Extract string from resume clob using locators | ||
mixed.sqc | CLI sample with functions written using embedded SQL (Note: This file must be precompiled ) | ||
multicon.c | Multiple connections | ||
native.c | Simple example of calling SQLNativeSql, and SQLNumParams | ||
prepare.c | Rewrite of fetch.c, using prepare/execute instead of execdirect | ||
proccols.c | List procedure parameters using SQLProcedureColumns | ||
procs.c | List procedures using SQLProcedures | ||
sfetch.c ** | Scrollable cursor example (based on xfetch.c) | ||
setcolat.c | Set column attributes (using SQLSetColAttributes) | ||
setcurs.c | Rewrite of getcurs.c using SQLSetCurs for positioned update | ||
seteattr.c | Set environment attribute (SQL_ATTR_OUTPUT_NTS) | ||
tables.c | List all tables | ||
typeinfo.c | Display type information for all types for current data source | ||
xfetch.c | Extended Fetch, multiple rows per fetch | ||
BLOB Samples | |||
picin.c | Loads graphic BLOBS into the emp_photo table directly from a file using SQLBindParamToFile | ||
picin2.c | Loads graphic BLOBS into the emp_photo table using SQLPutData | ||
showpic.c | Extracts BLOB picture to file (using SQLBindColToFile), then displays the graphic. | ||
showpic2.c | Extracts BLOB picture to file using piecewise output, then displays the graphic. | ||
Stored Procedure Samples | |||
clicall.c | Defines a CLI function which is used in the embedded SQL sample mrspcli3.sqc | ||
inpcli.c | Call embedded input stored procedure samples/c/inpsrv | ||
inpcli2.c | Call CLI input stored procedure inpsrv2 | ||
inpsrv2.c | CLI input stored procedure (rewrite of embedded sample inpsrv.sqc) | ||
mrspcli.c | CLI program that calls mrspsrv.c | ||
mrspcli2.c | CLI program that calls mrspsrv2.sqc | ||
mrspcli3.sqc | An embedded SQL program that calls mrspsrv2.sqc using clicall.c | ||
mrspsrv.c | Stored procedure that returns a multi-row result set | ||
mrspsrv2.sqc | An embedded SQL stored procedure that returns a multi-row result set | ||
outcli.c | Call embedded output stored procedure samples/c/inpsrv | ||
outcli2.c | Call CLI output stored procedure inpsrv2 | ||
outsrv2.c | CLI output stored procedure (rewrite of embedded sample inpsrv.sqc) | ||
Samples using ORDER tables created by create.c (Run in the following order) | |||
create.c | Creates all tables for the order scenario | ||
custin.c | Inserts customers into the customer table (array insert) | ||
prodin.c | Inserts products into the products table (array insert) | ||
prodpart.c | Inserts parts into the prod_parts table (array insert) | ||
ordin.c | Inserts orders into the ord_line, ord_cust tables (array insert) | ||
ordrep.c | Generates order report using multiple result sets | ||
partrep.c | Generates exploding parts report (recursive SQL Query) | ||
order.c | UDF library code (declares a 'price' UDF) | ||
order.exp | Used to build order libary | ||
Version 2 Samples unchanged | |||
v2sutil.c | samputil.c using old v2 functions | ||
v2sutil.h | samputil.h using old v2 functions | ||
v2fetch.c | fetch.c using old v2 functions | ||
v2xfetch.c | xfetch.c using old v2 functions | ||
|
The following two example files are listed in this section.: