ibm-information-center/dist/eclipse/plugins/i5OS.ic.cli_5.4.0.1/rzadpfnginfo.htm

811 lines
45 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en-us" xml:lang="en-us">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="security" content="public" />
<meta name="Robots" content="index,follow" />
<meta http-equiv="PICS-Label" content='(PICS-1.1 "http://www.icra.org/ratingsv02.html" l gen true r (cz 1 lz 1 nz 1 oz 1 vz 1) "http://www.rsac.org/ratingsv01.html" l gen true r (n 0 s 0 v 0 l 0) "http://www.classify.org/safesurf/" l gen true r (SS~~000 1))' />
<meta name="DC.Type" content="reference" />
<meta name="DC.Title" content="SQLGetInfo - Get general information" />
<meta name="DC.Relation" scheme="URI" content="rzadphdapi.htm" />
<meta name="copyright" content="(C) Copyright IBM Corporation 1999, 2006" />
<meta name="DC.Rights.Owner" content="(C) Copyright IBM Corporation 1999, 2006" />
<meta name="DC.Format" content="XHTML" />
<meta name="DC.Identifier" content="rzadpfnginfo" />
<meta name="DC.Language" content="en-us" />
<!-- All rights reserved. Licensed Materials Property of IBM -->
<!-- US Government Users Restricted Rights -->
<!-- Use, duplication or disclosure restricted by -->
<!-- GSA ADP Schedule Contract with IBM Corp. -->
<link rel="stylesheet" type="text/css" href="./ibmdita.css" />
<link rel="stylesheet" type="text/css" href="./ic.css" />
<title>SQLGetInfo</title>
</head>
<body id="rzadpfnginfo"><a name="rzadpfnginfo"><!-- --></a>
<!-- Java sync-link --><script language="Javascript" src="../rzahg/synch.js" type="text/javascript"></script>
<h1 class="topictitle1">SQLGetInfo - Get general information</h1>
<div><div class="section"></div>
<div class="section"><h4 class="sectiontitle">Purpose</h4> <p><samp class="codeph">SQLGetInfo()</samp> returns general
information (including supported data conversions) about the Database Management
System (DBMS) that the application is currently connected to.</p>
</div>
<div class="section"><h4 class="sectiontitle">Syntax</h4><pre>SQLRETURN SQLGetInfo (SQLHDBC hdbc,
SQLSMALLINT fInfoType,
SQLPOINTER rgbInfoValue,
SQLSMALLINT cbInfoValueMax,
SQLSMALLINT *pcbInfoValue);</pre>
</div>
<div class="section"><h4 class="sectiontitle">Function arguments</h4>
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" width="100%" frame="hsides" border="1" rules="all"><caption>Table 1. SQLGetInfo arguments</caption><thead align="left"><tr><th align="left" valign="top" width="22.407407407407405%" id="d0e48">Data type</th>
<th align="left" valign="top" width="20.925925925925924%" id="d0e50">Argument</th>
<th align="left" valign="top" width="16.48148148148148%" id="d0e52">Use</th>
<th align="left" valign="top" width="40.18518518518518%" id="d0e54">Description</th>
</tr>
</thead>
<tbody><tr><td align="left" valign="top" width="22.407407407407405%" headers="d0e48 ">SQLHDBC</td>
<td align="left" valign="top" width="20.925925925925924%" headers="d0e50 "><em>hdbc</em></td>
<td align="left" valign="top" width="16.48148148148148%" headers="d0e52 ">Input</td>
<td align="left" valign="top" width="40.18518518518518%" headers="d0e54 ">Database connection handle.</td>
</tr>
<tr><td align="left" valign="top" width="22.407407407407405%" headers="d0e48 ">SQLSMALLINT</td>
<td align="left" valign="top" width="20.925925925925924%" headers="d0e50 "><em>fInfoType</em></td>
<td align="left" valign="top" width="16.48148148148148%" headers="d0e52 ">Input</td>
<td align="left" valign="top" width="40.18518518518518%" headers="d0e54 "><p>Type of the required information.</p>
</td>
</tr>
<tr><td align="left" valign="top" width="22.407407407407405%" headers="d0e48 ">SQLPOINTER</td>
<td align="left" valign="top" width="20.925925925925924%" headers="d0e50 "><em>rgbInfoValue</em></td>
<td align="left" valign="top" width="16.48148148148148%" headers="d0e52 ">Output (also input)</td>
<td align="left" valign="top" width="40.18518518518518%" headers="d0e54 "><p>Pointer to
buffer where this function stores the required information. Depending on the
type of information being retrieved, four types of information can be returned:</p>
<ul><li>16-bit integer value</li>
<li>32-bit integer value</li>
<li>32-bit binary value</li>
<li>Null-terminated character string</li>
</ul>
</td>
</tr>
<tr><td align="left" valign="top" width="22.407407407407405%" headers="d0e48 ">SQLSMALLINT</td>
<td align="left" valign="top" width="20.925925925925924%" headers="d0e50 "><em>cbInfoValueMax</em></td>
<td align="left" valign="top" width="16.48148148148148%" headers="d0e52 ">Input</td>
<td align="left" valign="top" width="40.18518518518518%" headers="d0e54 ">The maximum length of the buffer pointed
by <em>rgbInfoValue</em> pointer.</td>
</tr>
<tr><td align="left" valign="top" width="22.407407407407405%" headers="d0e48 ">SQLSMALLINT *</td>
<td align="left" valign="top" width="20.925925925925924%" headers="d0e50 "><em>pcbInfoValue</em></td>
<td align="left" valign="top" width="16.48148148148148%" headers="d0e52 ">Output</td>
<td align="left" valign="top" width="40.18518518518518%" headers="d0e54 "><p>Pointer to location where
this function returns the total number of bytes available to return the required
information.</p>
<p>If the value in the location pointed to
by <em>pcbInfoValue</em> is greater than the size of the <em>rgbInfoValue</em> buffer
as specified in <em>cbInfoValueMax</em>, then the string output information
is truncated to <em>cbInfoValueMax</em> - 1 bytes and the function returns with
SQL_SUCCESS_WITH_INFO.</p>
</td>
</tr>
</tbody>
</table>
</div>
</div>
<div class="section"><h4 class="sectiontitle">Usage</h4> <div class="p"><a href="#rzadpfnginfo__tbginfo">Table 2</a> lists
the possible values of <em>fInfoType</em> and a description of the information
that <samp class="codeph">SQLGetInfo()</samp> returns for that value.
<div class="tablenoborder"><a name="rzadpfnginfo__tbginfo"><!-- --></a><table cellpadding="4" cellspacing="0" summary="" id="rzadpfnginfo__tbginfo" width="100%" frame="hsides" border="1" rules="all"><caption>Table 2. Information returned by
SQLGetInfo</caption><thead align="left"><tr><th align="left" valign="top" width="39.70037453183521%" id="d0e160"><em>fInfoType</em></th>
<th align="left" valign="top" width="16.292134831460675%" id="d0e163">Format</th>
<th align="left" valign="top" width="44.00749063670412%" id="d0e165">Description and notes</th>
</tr>
</thead>
<tbody><tr><td align="left" valign="top" width="39.70037453183521%" headers="d0e160 ">SQL_ACTIVE_CONNECTIONS</td>
<td align="left" valign="top" width="16.292134831460675%" headers="d0e163 ">Short int</td>
<td align="left" valign="top" width="44.00749063670412%" headers="d0e165 ">The maximum number of active connections
supported per application. <p>Zero is returned, indicating that the limit
is dependent on system resources.</p>
</td>
</tr>
<tr><td align="left" valign="top" width="39.70037453183521%" headers="d0e160 ">SQL_ACTIVE_STATEMENTS</td>
<td align="left" valign="top" width="16.292134831460675%" headers="d0e163 ">Short int</td>
<td align="left" valign="top" width="44.00749063670412%" headers="d0e165 ">The maximum number of active statements per
connection. <p>Zero is returned, indicating that the limit is dependent on
system resources.</p>
</td>
</tr>
<tr><td valign="top" width="39.70037453183521%" headers="d0e160 ">SQL_AGGREGATE_FUNCTIONS</td>
<td valign="top" width="16.292134831460675%" headers="d0e163 ">32-bit mask</td>
<td valign="top" width="44.00749063670412%" headers="d0e165 "><p>A bit mask enumerating support for aggregation functions:</p>
<ul><li>SQL_AF_ALL </li>
<li>SQL_AF_AVG </li>
<li>SQL_AF_COUNT </li>
<li>SQL_AF_DISTINCT </li>
<li>SQL_AF_MAX </li>
<li>SQL_AF_MIN </li>
<li>SQL_AF_SUM</li>
</ul>
</td>
</tr>
<tr><td valign="top" width="39.70037453183521%" headers="d0e160 ">SQL_CATALOG_NAME</td>
<td valign="top" width="16.292134831460675%" headers="d0e163 ">String</td>
<td valign="top" width="44.00749063670412%" headers="d0e165 ">A character string of Y indicates that the server supports catalog
names. N indicates that catalog names are not supported.</td>
</tr>
<tr><td align="left" valign="top" width="39.70037453183521%" headers="d0e160 ">SQL_COLUMN_ALIAS</td>
<td align="left" valign="top" width="16.292134831460675%" headers="d0e163 ">String</td>
<td align="left" valign="top" width="44.00749063670412%" headers="d0e165 ">Whether the connection supports column aliases.
The value Y is returned if the connection supports the concept of a column
alias.</td>
</tr>
<tr><td align="left" valign="top" width="39.70037453183521%" headers="d0e160 ">SQL_CONNECTION_JOB_NAME</td>
<td align="left" valign="top" width="16.292134831460675%" headers="d0e163 ">String</td>
<td align="left" valign="top" width="44.00749063670412%" headers="d0e165 ">When in server mode, this is a character
string that contains the complete job name associated with the connection.
When not in server mode, a function sequence error is returned.</td>
</tr>
<tr><td valign="top" width="39.70037453183521%" headers="d0e160 "><p>SQL_CONVERT_BIGINT<br />
SQL_CONVERT_BINARY<br />
SQL_CONVERT_BLOB<br />
SQL_CONVERT_CHAR<br />
SQL_CONVERT_CLOB<br />
SQL_CONVERT_DATE<br />
SQL_CONVERT_DBCLOB<br />
SQL_CONVERT_DECIMAL<br />
SQL_CONVERT_DOUBLE<br />
SQL_CONVERT_FLOAT<br />
SQL_CONVERT_INTEGER<br />
SQL_CONVERT_LONGVARBINARY<br />
SQL_CONVERT_LONGVARCHAR<br />
SQL_CONVERT_NUMERIC<br />
SQL_CONVERT_REAL<br />
SQL_CONVERT_SMALLINT<br />
SQL_CONVERT_TIME<br />
SQL_CONVERT_TIMESTAMP<br />
SQL_CONVERT_VARBINARY<br />
SQL_CONVERT_VARCHAR<br />
SQL_CONVERT_WCHAR<br />
SQL_CONVERT_WLONGVARCHAR<br />
SQL_CONVERT_WVARCHAR</p>
</td>
<td valign="top" width="16.292134831460675%" headers="d0e163 ">32-bit mask</td>
<td valign="top" width="44.00749063670412%" headers="d0e165 "><p>Indicates the conversions supported by the data source with the
CONVERT scalar function for data of the type named in the infoType. If the
bit mask equals zero, the data source does not support any conversions for
the data of the named type, including conversions to the same data type.</p>
<p>For
example, to find out if a data source supports the conversion of SQL_INTEGER
data to the SQL_DECIMAL data type, an application calls SQLGetInfo() with
finfoType of SQL_CONVERT_INTEGER. The application then ANDs the returned bit
mask with SQL_CVT_DECIMAL. If the resulting value is nonzero, then the conversion
is supported. The following bit masks are used to determine which conversions
are supported:</p>
<ul><li>SQL_CONVERT_BLOB</li>
<li>SQL_CONVERT_CLOB</li>
<li>SQL_CONVERT_DBCLOB</li>
<li>SQL_CONVERT_SMALLINT</li>
<li>SQL_CONVERT_TIME</li>
<li>SQL_CONVERT_TIMESTAMP</li>
<li>SQL_CONVERT_VARBINARY</li>
<li>SQL_CONVERT_VARCHAR</li>
<li>SQL_CONVERT_WCHAR</li>
<li>SQL_CONVERT_WLONGVARCHAR</li>
<li>SQL_CONVERT_WVARCHAR</li>
<li>SQL_CVT_BIGINT </li>
<li>SQL_CVT_BINARY</li>
<li>SQL_CVT_CHAR</li>
<li>SQL_CVT_DATE</li>
<li>SQL_CVT_DECIMAL </li>
<li>SQL_CVT_DOUBLE </li>
<li>SQL_CVT_FLOAT </li>
<li>SQL_CVT_INTEGER </li>
<li>SQL_CVT_LONGVARBINARY </li>
<li>SQL_CVT_LONGVARCHAR </li>
<li>SQL_CVT_NUMERIC </li>
<li>SQL_CVT_REAL</li>
</ul>
</td>
</tr>
<tr><td valign="top" width="39.70037453183521%" headers="d0e160 ">SQL_CONVERT_FUNCTIONS</td>
<td valign="top" width="16.292134831460675%" headers="d0e163 ">32 bit mask</td>
<td valign="top" width="44.00749063670412%" headers="d0e165 "><p>Indicates the scalar conversion functions supported by the driver
and associated data source:</p>
<ul><li>SQL_FN_CVT_CONVERT is used to determine which conversion functions are
supported. </li>
<li>SQL_FN_CVT_CAST is used to determine which cast functions are supported.</li>
</ul>
</td>
</tr>
<tr><td align="left" valign="top" width="39.70037453183521%" headers="d0e160 ">SQL_CORRELATION_NAME</td>
<td align="left" valign="top" width="16.292134831460675%" headers="d0e163 ">Short int</td>
<td align="left" valign="top" width="44.00749063670412%" headers="d0e165 "><p>Indicates the degree of correlation name
support by the server:</p>
<ul><li>SQL_CN_ANY Correlation name is supported and can be any valid user-defined
name. </li>
<li>SQL_CN_NONE Correlation name is not supported.</li>
<li>SQL_CN_DIFFERENT Correlation name is supported but it must be different
from the name of the table that it represents.</li>
</ul>
</td>
</tr>
<tr><td valign="top" width="39.70037453183521%" headers="d0e160 ">SQL_CURSOR_COMMIT_BEHAVIOR</td>
<td valign="top" width="16.292134831460675%" headers="d0e163 ">16-bit integer</td>
<td valign="top" width="44.00749063670412%" headers="d0e165 "><p>Indicates how a COMMIT operation affects cursors:</p>
<ul><li>SQL_CB_DELETE destroys cursors and drops access plans for dynamic SQL
statements. </li>
<li>SQL_CB_CLOSE destroys cursors, but retains access plans for dynamic SQL
statements (including nonquery statements). </li>
<li>SQL_CB_PRESERVE retains cursors and access plans for dynamic statements
(including nonquery statements). Applications can continue to fetch data,
or close the cursor and reprocess the query without preparing the statement
again.</li>
</ul>
<div class="note"><span class="notetitle">Note:</span> After the COMMIT operation, a FETCH must be issued to reposition
the cursor before actions such as positioned updates or deletes can be taken.</div>
</td>
</tr>
<tr><td valign="top" width="39.70037453183521%" headers="d0e160 ">SQL_CURSOR_ROLLBACK_BEHAVIOR</td>
<td valign="top" width="16.292134831460675%" headers="d0e163 ">16-bit integer</td>
<td valign="top" width="44.00749063670412%" headers="d0e165 "><p>Indicates how a ROLLBACK operation affects cursors:</p>
<ul><li>SQL_CB_DELETE destroys cursors and drops access plans for dynamic SQL
statements. </li>
<li>SQL_CB_CLOSE destroys cursors, but retains access plans for dynamic SQL
statements (including nonquery statements) </li>
<li>SQL_CB_PRESERVE retains cursors and access plans for dynamic statements
(including nonquery statements). Applications can continue to fetch data,
or close the cursor and run the query again without preparing the statement
again.</li>
</ul>
<div class="note"><span class="notetitle">Note:</span> DB2<sup>®</sup> servers
do not have the SQL_CB_PRESERVE property.</div>
</td>
</tr>
<tr><td align="left" valign="top" width="39.70037453183521%" headers="d0e160 ">SQL_DATA_SOURCE_NAME</td>
<td align="left" valign="top" width="16.292134831460675%" headers="d0e163 ">String</td>
<td align="left" valign="top" width="44.00749063670412%" headers="d0e165 ">Name of the connected data source for the
connection handle.</td>
</tr>
<tr><td align="left" valign="top" width="39.70037453183521%" headers="d0e160 ">SQL_DATA_SOURCE_READ_ONLY</td>
<td align="left" valign="top" width="16.292134831460675%" headers="d0e163 ">String</td>
<td align="left" valign="top" width="44.00749063670412%" headers="d0e165 ">A character string of Y indicates that the
database is set to READ ONLY mode; an N indicates that it is not set to READ
ONLY mode.</td>
</tr>
<tr><td valign="top" width="39.70037453183521%" headers="d0e160 "><p><img src="./delta.gif" alt="Start of change" />SQL_DATABASE_NAME<img src="./deltaend.gif" alt="End of change" /></p>
</td>
<td valign="top" width="16.292134831460675%" headers="d0e163 "><p><img src="./delta.gif" alt="Start of change" />String<img src="./deltaend.gif" alt="End of change" /></p>
</td>
<td valign="top" width="44.00749063670412%" headers="d0e165 "><p><img src="./delta.gif" alt="Start of change" />Name of the current database in use.
This string is the same as that returned by the SELECT CURRENT SERVER SQL
statement.<img src="./deltaend.gif" alt="End of change" /></p>
</td>
</tr>
<tr><td align="left" valign="top" width="39.70037453183521%" headers="d0e160 ">SQL_DBMS_NAME</td>
<td align="left" valign="top" width="16.292134831460675%" headers="d0e163 ">String</td>
<td align="left" valign="top" width="44.00749063670412%" headers="d0e165 ">Name of the Database Management System (DBMS)
product being accessed. <div class="p">For example: <ul><li>QSQ for DB2
Universal Database™ for iSeries™</li>
<li>SQL for DB2
Universal Database for Linux<sup>®</sup>, UNIX<sup>®</sup>, and Windows<sup>®</sup></li>
<li>DSN for DB2 Universal Database™ for z/OS<sup>®</sup> </li>
</ul>
</div>
</td>
</tr>
<tr><td align="left" valign="top" width="39.70037453183521%" headers="d0e160 ">SQL_DBMS_VER</td>
<td align="left" valign="top" width="16.292134831460675%" headers="d0e163 ">String</td>
<td align="left" valign="top" width="44.00749063670412%" headers="d0e165 ">Version of the DBMS product accessed.</td>
</tr>
<tr><td align="left" valign="top" width="39.70037453183521%" headers="d0e160 ">SQL_DEFAULT_TXN_ISOLATION</td>
<td align="left" valign="top" width="16.292134831460675%" headers="d0e163 ">32-bit mask</td>
<td align="left" valign="top" width="44.00749063670412%" headers="d0e165 "><p>The default transaction-isolation level
supported.</p>
<div class="p">One of the following masks are returned: <ul><li>SQL_TXN_READ_UNCOMMITTED Changes are immediately perceived by all transactions
(dirty read, non-repeatable read, and phantoms are possible). <p>This is equivalent
to UR level.</p>
</li>
<li>SQL_TXN_READ_COMMITTED Row read by transaction 1 can be altered and
committed by transaction 2 (non-repeatable read and phantoms are possible). <p>This
is equivalent to CS level.</p>
</li>
<li>SQL_TXN_REPEATABLE_READ A transaction can add or remove rows matching
the search condition or a pending transaction (repeatable read, but phantoms
are possible). <p>This is equivalent to RS level.</p>
</li>
<li>SQL_TXN_SERIALIZABLE Data affected by pending transaction is not available
to other transactions (repeatable read, phantoms are not possible). <p>This
is equivalent to RR level.</p>
</li>
<li>SQL_TXN_VERSIONING Not applicable to IBM<sup>®</sup> DBMSs.</li>
<li>SQL_TXN_NOCOMMIT Any changes are effectively committed at the end of
a successful operation; no explicit commit or rollback operation is allowed. <p>This
is a DB2 isolation
level.</p>
</li>
</ul>
</div>
<div class="p">In IBM terminology, <ul><li>SQL_TXN_READ_UNCOMMITTED is uncommitted read.</li>
<li>SQL_TXN_READ_COMMITTED is cursor stability.</li>
<li>SQL_TXN_REPEATABLE_READ is read stability.</li>
<li>SQL_TXN_SERIALIZABLE is repeatable read.</li>
</ul>
</div>
</td>
</tr>
<tr><td valign="top" width="39.70037453183521%" headers="d0e160 ">SQL_DESCRIBE_PARAMETER</td>
<td valign="top" width="16.292134831460675%" headers="d0e163 ">String</td>
<td valign="top" width="44.00749063670412%" headers="d0e165 ">Y if parameters can be described; N if not.</td>
</tr>
<tr><td align="left" valign="top" width="39.70037453183521%" headers="d0e160 ">SQL_DRIVER_NAME</td>
<td align="left" valign="top" width="16.292134831460675%" headers="d0e163 ">String</td>
<td align="left" valign="top" width="44.00749063670412%" headers="d0e165 ">File name of the driver used to access the
data source.</td>
</tr>
<tr><td align="left" valign="top" width="39.70037453183521%" headers="d0e160 ">SQL_DRIVER_ODBC_VER</td>
<td align="left" valign="top" width="16.292134831460675%" headers="d0e163 ">String</td>
<td align="left" valign="top" width="44.00749063670412%" headers="d0e165 ">The version number of ODBC that the driver
supports. DB2 ODBC
returns <samp class="codeph">2.1</samp>.</td>
</tr>
<tr><td align="left" valign="top" width="39.70037453183521%" headers="d0e160 ">SQL_GROUP_BY</td>
<td align="left" valign="top" width="16.292134831460675%" headers="d0e163 ">16-bit integer</td>
<td align="left" valign="top" width="44.00749063670412%" headers="d0e165 "><div class="p">Indicates the degree of support for the
GROUP BY clause by the server: <ul><li>SQL_GB_NO_RELATION There is no relationship between the columns in the
GROUP BY and in the SELECT list.</li>
<li>SQL_GB_NOT_SUPPORTED GROUP BY not supported.</li>
<li>SQL_GB_GROUP_BY_EQUALS_SELECT GROUP BY must include all nonaggregated
columns in the select list.</li>
<li>SQL_GB_GROUP_BY_CONTAINS_SELECT GROUP BY clause must contain all nonaggregated
columns in the SELECT list.</li>
</ul>
</div>
</td>
</tr>
<tr><td align="left" valign="top" width="39.70037453183521%" headers="d0e160 ">SQL_IDENTIFIER_CASE</td>
<td align="left" valign="top" width="16.292134831460675%" headers="d0e163 ">16-bit integer</td>
<td align="left" valign="top" width="44.00749063670412%" headers="d0e165 "><p>Indicates case sensitivity of object names
(such as table-name).</p>
<div class="p"><ul><li>SQL_IC_UPPER Identifier names are stored in uppercase in the system
catalog.</li>
<li>SQL_IC_LOWER Identifier names are stored in lowercase in the system
catalog.</li>
<li>SQL_IC_SENSITIVE Identifier names are case sensitive, and are stored
in mixed case in the system catalog.</li>
<li>SQL_IC_MIXED Identifier names are not case sensitive, and are stored
in mixed case in the system catalog.</li>
</ul>
</div>
<div class="note"><span class="notetitle">Note:</span> Identifier names in IBM DBMSs are not case sensitive.</div>
</td>
</tr>
<tr><td align="left" valign="top" width="39.70037453183521%" headers="d0e160 ">SQL_IDENTIFIER_QUOTE_CHAR</td>
<td align="left" valign="top" width="16.292134831460675%" headers="d0e163 ">String</td>
<td align="left" valign="top" width="44.00749063670412%" headers="d0e165 ">Character used as the delimiter of a quoted
string.</td>
</tr>
<tr><td valign="top" width="39.70037453183521%" headers="d0e160 ">SQL_KEYWORDS</td>
<td valign="top" width="16.292134831460675%" headers="d0e163 ">String</td>
<td valign="top" width="44.00749063670412%" headers="d0e165 ">A character string containing a comma-separated list
of all data source-specific keywords. This is a list of all reserved keywords.
Interoperable applications should not use these keywords in object names.
This list does not contain keywords specific to ODBC or keywords used by both
the data source and ODBC.</td>
</tr>
<tr><td valign="top" width="39.70037453183521%" headers="d0e160 ">SQL_LIKE_ESCAPE_CLAUSE</td>
<td valign="top" width="16.292134831460675%" headers="d0e163 ">String</td>
<td valign="top" width="44.00749063670412%" headers="d0e165 ">A character string that indicates whether an escape character is supported
for the metacharacters percent and underscore in a LIKE predicate.</td>
</tr>
<tr><td valign="top" width="39.70037453183521%" headers="d0e160 ">SQL_MAX_CATALOG_NAME_LEN</td>
<td valign="top" width="16.292134831460675%" headers="d0e163 ">16-bit integer</td>
<td valign="top" width="44.00749063670412%" headers="d0e165 ">The maximum length of a catalog qualifier name; first part of a three-part
table name (in bytes).</td>
</tr>
<tr><td align="left" valign="top" width="39.70037453183521%" headers="d0e160 ">SQL_MAX_COLUMN_NAME_LEN</td>
<td align="left" valign="top" width="16.292134831460675%" headers="d0e163 ">Short int</td>
<td align="left" valign="top" width="44.00749063670412%" headers="d0e165 ">The maximum length of a column name.</td>
</tr>
<tr><td align="left" valign="top" width="39.70037453183521%" headers="d0e160 ">SQL_MAX_COLUMNS_IN_GROUP_BY</td>
<td align="left" valign="top" width="16.292134831460675%" headers="d0e163 ">Short int</td>
<td align="left" valign="top" width="44.00749063670412%" headers="d0e165 ">The maximum number of columns in a GROUP
BY clause.</td>
</tr>
<tr><td align="left" valign="top" width="39.70037453183521%" headers="d0e160 ">SQL_MAX_COLUMNS_IN_INDEX</td>
<td align="left" valign="top" width="16.292134831460675%" headers="d0e163 ">Short int</td>
<td align="left" valign="top" width="44.00749063670412%" headers="d0e165 ">The maximum number of columns in an SQL index.</td>
</tr>
<tr><td align="left" valign="top" width="39.70037453183521%" headers="d0e160 ">SQL_MAX_COLUMNS_IN_ORDER_BY</td>
<td align="left" valign="top" width="16.292134831460675%" headers="d0e163 ">Short int</td>
<td align="left" valign="top" width="44.00749063670412%" headers="d0e165 ">Maximum number of columns in an ORDER BY
clause.</td>
</tr>
<tr><td align="left" valign="top" width="39.70037453183521%" headers="d0e160 ">SQL_MAX_COLUMNS_IN_SELECT</td>
<td align="left" valign="top" width="16.292134831460675%" headers="d0e163 ">Short int</td>
<td align="left" valign="top" width="44.00749063670412%" headers="d0e165 ">The maximum number of columns in a SELECT
statement.</td>
</tr>
<tr><td align="left" valign="top" width="39.70037453183521%" headers="d0e160 ">SQL_MAX_COLUMNS_IN_TABLE</td>
<td align="left" valign="top" width="16.292134831460675%" headers="d0e163 ">Short int</td>
<td align="left" valign="top" width="44.00749063670412%" headers="d0e165 ">The maximum number of columns in an SQL table.</td>
</tr>
<tr><td align="left" valign="top" width="39.70037453183521%" headers="d0e160 ">SQL_MAX_CURSOR_NAME_LEN</td>
<td align="left" valign="top" width="16.292134831460675%" headers="d0e163 ">Short int</td>
<td align="left" valign="top" width="44.00749063670412%" headers="d0e165 ">The maximum length of a cursor name.</td>
</tr>
<tr><td align="left" valign="top" width="39.70037453183521%" headers="d0e160 ">SQL_MAX_OWNER_NAME_LEN</td>
<td align="left" valign="top" width="16.292134831460675%" headers="d0e163 ">Short int</td>
<td align="left" valign="top" width="44.00749063670412%" headers="d0e165 ">The maximum length of an owner name.</td>
</tr>
<tr><td align="left" valign="top" width="39.70037453183521%" headers="d0e160 ">SQL_MAX_ROW_SIZE</td>
<td align="left" valign="top" width="16.292134831460675%" headers="d0e163 ">32bit unsigned integer</td>
<td align="left" valign="top" width="44.00749063670412%" headers="d0e165 ">The maximum length in bytes that the server
supports in single row of a base table. It is zero if there is no limit.</td>
</tr>
<tr><td align="left" valign="top" width="39.70037453183521%" headers="d0e160 ">SQL_MAX_SCHEMA_NAME_LEN</td>
<td align="left" valign="top" width="16.292134831460675%" headers="d0e163 ">Int</td>
<td align="left" valign="top" width="44.00749063670412%" headers="d0e165 ">The maximum length of a schema name.</td>
</tr>
<tr><td valign="top" width="39.70037453183521%" headers="d0e160 ">SQL_MAX_STATEMENT_LEN</td>
<td valign="top" width="16.292134831460675%" headers="d0e163 ">32bit unsigned integer</td>
<td valign="top" width="44.00749063670412%" headers="d0e165 ">Indicates the maximum length of an SQL statement string in bytes, including
the number of white spaces in the statement.</td>
</tr>
<tr><td align="left" valign="top" width="39.70037453183521%" headers="d0e160 ">SQL_MAX_TABLE_NAME</td>
<td align="left" valign="top" width="16.292134831460675%" headers="d0e163 ">Short int</td>
<td align="left" valign="top" width="44.00749063670412%" headers="d0e165 ">The maximum length of a table name.</td>
</tr>
<tr><td align="left" valign="top" width="39.70037453183521%" headers="d0e160 ">SQL_MAX_TABLES_IN_SELECT</td>
<td align="left" valign="top" width="16.292134831460675%" headers="d0e163 ">Short int</td>
<td align="left" valign="top" width="44.00749063670412%" headers="d0e165 ">The maximum number of tables in a SELECT
statement.</td>
</tr>
<tr><td align="left" valign="top" width="39.70037453183521%" headers="d0e160 ">SQL_MULTIPLE_ACTIVE_TXN</td>
<td align="left" valign="top" width="16.292134831460675%" headers="d0e163 ">String</td>
<td align="left" valign="top" width="44.00749063670412%" headers="d0e165 ">The character string Y indicates that active
transactions on multiple connections are allowed. N indicates that only one
connection at a time can have an active transaction.</td>
</tr>
<tr><td align="left" valign="top" width="39.70037453183521%" headers="d0e160 ">SQL_NON_NULLABLE_COLUMNS</td>
<td align="left" valign="top" width="16.292134831460675%" headers="d0e163 ">16-bit integer</td>
<td align="left" valign="top" width="44.00749063670412%" headers="d0e165 "><div class="p">Indicates whether non-nullable columns
are supported: <ul><li>SQL_NNC_NON_NULL columns can be defined as NOT NULL.</li>
<li>SQL_NNC_NULL columns cannot be defined as NOT NULL.</li>
</ul>
</div>
</td>
</tr>
<tr><td valign="top" width="39.70037453183521%" headers="d0e160 ">SQL_NUMERIC_FUNCTIONS</td>
<td valign="top" width="16.292134831460675%" headers="d0e163 ">32-bit mask</td>
<td valign="top" width="44.00749063670412%" headers="d0e165 "><p>The scalar numeric functions supported.</p>
<p>The following bit
masks are used to determine which numeric functions are supported:</p>
<ul><li>SQL_FN_NUM_ABS </li>
<li>SQL_FN_NUM_ACOS </li>
<li>SQL_FN_NUM_ASIN </li>
<li>SQL_FN_NUM_ATAN </li>
<li>SQL_FN_NUM_ATAN2 </li>
<li>SQL_FN_NUM_CEILING </li>
<li>SQL_FN_NUM_COS </li>
<li>SQL_FN_NUM_COT </li>
<li>SQL_FN_NUM_DEGREES </li>
<li>SQL_FN_NUM_EXP </li>
<li>SQL_FN_NUM_FLOOR </li>
<li>SQL_FN_NUM_LOG </li>
<li>SQL_FN_NUM_LOG10 </li>
<li>SQL_FN_NUM_MOD </li>
<li>SQL_FN_NUM_PI </li>
<li>SQL_FN_NUM_POWER </li>
<li>SQL_FN_NUM_RADIANS </li>
<li>SQL_FN_NUM_RAND </li>
<li>SQL_FN_NUM_ROUND </li>
<li>SQL_FN_NUM_SIGN </li>
<li>SQL_FN_NUM_SIN </li>
<li>SQL_FN_NUM_SQRT </li>
<li>SQL_FN_NUM_TAN </li>
<li>SQL_FN_NUM_TRUNCATE</li>
</ul>
</td>
</tr>
<tr><td align="left" valign="top" width="39.70037453183521%" headers="d0e160 ">SQL_ODBC_API_CONFORMANCE</td>
<td align="left" valign="top" width="16.292134831460675%" headers="d0e163 ">16-bit integer</td>
<td align="left" valign="top" width="44.00749063670412%" headers="d0e165 "><div class="p">The level of ODBC conformance: <ul><li>SQL_OAC_NONE</li>
<li>SQL_OAC_LEVEL1</li>
<li>SQL_OAC_LEVEL2</li>
</ul>
</div>
</td>
</tr>
<tr><td align="left" valign="top" width="39.70037453183521%" headers="d0e160 ">SQL_ODBC_SQL_CONFORMANCE</td>
<td align="left" valign="top" width="16.292134831460675%" headers="d0e163 ">16-bit integer</td>
<td align="left" valign="top" width="44.00749063670412%" headers="d0e165 "><div class="p">A value of: <ul><li>SQL_OSC_MINIMUM means minimum ODBC SQL grammar supported</li>
<li>SQL_OSC_CORE means core ODBC SQL grammar supported</li>
<li>SQL_OSC_EXTENDED means extended ODBC SQL grammar supported</li>
</ul>
</div>
<p>For the definition of the previous types of ODBC SQL grammar,
see Microsoft<sup>®</sup> ODBC
3.0 Software Development Kit and Programmer's Reference.</p>
</td>
</tr>
<tr><td align="left" valign="top" width="39.70037453183521%" headers="d0e160 ">SQL_ORDER_BY_COLUMNS_IN_SELECT</td>
<td align="left" valign="top" width="16.292134831460675%" headers="d0e163 ">String</td>
<td align="left" valign="top" width="44.00749063670412%" headers="d0e165 ">Set to Y if columns in the ORDER BY clauses
must be in the select list; otherwise set to N.</td>
</tr>
<tr><td valign="top" width="39.70037453183521%" headers="d0e160 ">SQL_OUTER_JOINS</td>
<td valign="top" width="16.292134831460675%" headers="d0e163 ">String</td>
<td valign="top" width="44.00749063670412%" headers="d0e165 "><p>The character string:</p>
<ul><li>Y indicates that outer joins are supported, and DB2 ODBC supports the ODBC outer join request
syntax. </li>
<li>N indicates that it is not supported.</li>
</ul>
</td>
</tr>
<tr><td align="left" valign="top" width="39.70037453183521%" headers="d0e160 ">SQL_OWNER_TERM or SQL_SCHEMA_TERM</td>
<td align="left" valign="top" width="16.292134831460675%" headers="d0e163 ">String</td>
<td align="left" valign="top" width="44.00749063670412%" headers="d0e165 ">The database vendor terminology for a schema
(owner).</td>
</tr>
<tr><td align="left" valign="top" width="39.70037453183521%" headers="d0e160 ">SQL_OWNER_USAGE or SQL_SCHEMA_USAGE</td>
<td align="left" valign="top" width="16.292134831460675%" headers="d0e163 ">32-bit mask</td>
<td align="left" valign="top" width="44.00749063670412%" headers="d0e165 "><div class="p">Indicates the type of SQL statements that
have schema (owners) associated with them when these statements are processed.
Schema qualifiers (owners) are as follows: <ul><li>SQL_OU_DML_STATEMENTS is supported in all DML statements.</li>
<li>SQL_OU_PROCEDURE_INVOCATION is supported in the procedure invocation statement.</li>
<li>SQL_OU_TABLE_DEFINITION is supported in all table definition statements.</li>
<li>SQL_OU_INDEX_DEFINITION is supported in all index definition statements.</li>
<li>SQL_OU_PRIVILEGE_DEFINITION is supported in all privilege definition statements
(that is, grant and revoke statements).</li>
</ul>
</div>
</td>
</tr>
<tr><td valign="top" width="39.70037453183521%" headers="d0e160 ">SQL_POSITIONED_STATEMENTS</td>
<td valign="top" width="16.292134831460675%" headers="d0e163 ">32-bit mask</td>
<td valign="top" width="44.00749063670412%" headers="d0e165 "><p>Indicates the degree of support for positioned UPDATE and positioned
DELETE statements:</p>
<ul><li>SQL_PS_POSITIONED_DELETE </li>
<li>SQL_PS_POSITIONED_UPDATE </li>
<li>SQL_PS_SELECT_FOR_UPDATE, indicates whether the server requires the FOR
UPDATE clause to be specified on a &lt;query expression&gt; in order for a
column to be updated with the cursor.</li>
</ul>
</td>
</tr>
<tr><td align="left" valign="top" width="39.70037453183521%" headers="d0e160 ">SQL_PROCEDURE_TERM</td>
<td align="left" valign="top" width="16.292134831460675%" headers="d0e163 ">String</td>
<td align="left" valign="top" width="44.00749063670412%" headers="d0e165 ">Data source name for a procedure.</td>
</tr>
<tr><td align="left" valign="top" width="39.70037453183521%" headers="d0e160 ">SQL_PROCEDURES</td>
<td align="left" valign="top" width="16.292134831460675%" headers="d0e163 ">String</td>
<td align="left" valign="top" width="44.00749063670412%" headers="d0e165 ">Whether the current server supports SQL procedures.
The value Y is returned if the connection supports SQL procedures.</td>
</tr>
<tr><td align="left" valign="top" width="39.70037453183521%" headers="d0e160 ">SQL_QUALIFIER_LOCATION or SQL_CATALOG_LOCATION</td>
<td align="left" valign="top" width="16.292134831460675%" headers="d0e163 ">16-bit integer</td>
<td align="left" valign="top" width="44.00749063670412%" headers="d0e165 ">A 16-bit integer value indicated the position
of the qualifier in a qualified table name. Zero indicates that qualified
names are not supported.</td>
</tr>
<tr><td align="left" valign="top" width="39.70037453183521%" headers="d0e160 ">SQL_QUALIFIER_NAME_SEPARATOR or SQL_CATALOG_NAME_SEPARATOR</td>
<td align="left" valign="top" width="16.292134831460675%" headers="d0e163 ">String</td>
<td align="left" valign="top" width="44.00749063670412%" headers="d0e165 ">The characters used as a separator between
a catalog name and the qualified name element that follows it.</td>
</tr>
<tr><td align="left" valign="top" width="39.70037453183521%" headers="d0e160 ">SQL_QUALIFIER_TERM or SQL_CATALOG_TERM</td>
<td align="left" valign="top" width="16.292134831460675%" headers="d0e163 ">String</td>
<td align="left" valign="top" width="44.00749063670412%" headers="d0e165 "><p>The database vendor terminology for a
qualifier.</p>
<p>This is the name that the vendor uses for the high-order
part of a 3-part name.</p>
<p>Because DB2 ODBC does not support 3-part names,
a zero-length string is returned.</p>
<p>For non-ODBC applications, the SQL_CATALOG_TERM
symbolic name should be used instead of SQL_QUALIFIER_NAME.</p>
</td>
</tr>
<tr><td align="left" valign="top" width="39.70037453183521%" headers="d0e160 ">SQL_QUALIFIER_USAGE or SQL_CATALOG_USAGE</td>
<td align="left" valign="top" width="16.292134831460675%" headers="d0e163 ">32-bit mask</td>
<td align="left" valign="top" width="44.00749063670412%" headers="d0e165 ">This is similar to SQL_OWNER_USAGE except
that this is used for catalog.</td>
</tr>
<tr><td align="left" valign="top" width="39.70037453183521%" headers="d0e160 ">SQL_QUOTED_IDENTIFIER_CASE</td>
<td align="left" valign="top" width="16.292134831460675%" headers="d0e163 ">16-bit integer</td>
<td align="left" valign="top" width="44.00749063670412%" headers="d0e165 "><div class="p"><ul><li>SQL_IC_UPPER Quoted identifiers in SQL are case insensitive and stored
in uppercase in the system catalog.</li>
<li>SQL_IC_LOWER Quoted identifiers in SQL are case insensitive and are
stored in lowercase in the system catalog.</li>
<li>SQL_IC_SENSITIVE Quoted identifiers (delimited identifiers) in SQL are
case sensitive and are stored in mixed case in the system catalog.</li>
<li>SQL_IC_MIXED Quoted identifiers in SQL are case insensitive and are
stored in mixed case in the system catalog.</li>
</ul>
</div>
<p>This should be contrasted with the SQL_IDENTIFIER_CASE fInfoType,
which is used to determine how (unquoted) identifiers are stored in the system
catalog.</p>
</td>
</tr>
<tr><td valign="top" width="39.70037453183521%" headers="d0e160 ">SQL_SEARCH_PATTERN_ESCAPE</td>
<td valign="top" width="16.292134831460675%" headers="d0e163 ">String</td>
<td valign="top" width="44.00749063670412%" headers="d0e165 ">Used to specify what the driver supports as an escape character for
catalog functions, such as <samp class="codeph">SQLTables()</samp> and <samp class="codeph">SQLColumns()</samp>.</td>
</tr>
<tr><td valign="top" width="39.70037453183521%" headers="d0e160 ">SQL_SQL92_PREDICATES</td>
<td valign="top" width="16.292134831460675%" headers="d0e163 ">32-bit mask</td>
<td valign="top" width="44.00749063670412%" headers="d0e165 "><p>Indicates the predicates supported in a SELECT statement that SQL-92
defines.</p>
<ul><li>SQL_SP_BETWEEN </li>
<li>SQL_SP_COMPARISON </li>
<li>SQL_SP_EXISTS </li>
<li>SQL_SP_IN </li>
<li>SQL_SP_ISNOTNULL </li>
<li>SQL_SP_ISNULL </li>
<li>SQL_SP_LIKE </li>
<li>SQL_SP_MATCH_FULL</li>
<li>SQL_SP_MATCH_PARTIAL </li>
<li>SQL_SP_MATCH_UNIQUE_FULL </li>
<li>SQL_SP_MATCH_UNIQUE_PARTIAL </li>
<li>SQL_SP_OVERLAPS </li>
<li>SQL_SP_QUANTIFIED_COMPARISON </li>
<li>SQL_SP_UNIQUE</li>
</ul>
</td>
</tr>
<tr><td valign="top" width="39.70037453183521%" headers="d0e160 ">SQL_SQL92_VALUE_EXPRESSIONS</td>
<td valign="top" width="16.292134831460675%" headers="d0e163 ">32-bit mask</td>
<td valign="top" width="44.00749063670412%" headers="d0e165 "><p>Indicates the value expressions supported that SQL-92 defines.</p>
<ul><li>SQL_SVE_CASE </li>
<li>SQL_SVE_CAST </li>
<li>SQL_SVE_COALESCE </li>
<li>SQL_SVE_NULLIF</li>
</ul>
</td>
</tr>
<tr><td valign="top" width="39.70037453183521%" headers="d0e160 ">SQL_STRING_FUNCTIONS</td>
<td valign="top" width="16.292134831460675%" headers="d0e163 ">32-bit bit mask</td>
<td valign="top" width="44.00749063670412%" headers="d0e165 ">Indicates which string functions are supported. <p>The following bit
masks are used to determine which string functions are supported:</p>
<ul><li>SQL_FN_STR_ASCII </li>
<li>SQL_FN_STR_CHAR </li>
<li>SQL_FN_STR_CONCAT </li>
<li>SQL_FN_STR_DIFFERENCE </li>
<li>SQL_FN_STR_INSERT </li>
<li>SQL_FN_STR_LCASE</li>
<li>SQL_FN_STR_LEFT</li>
<li>SQL_FN_STR_LENGTH</li>
<li>SQL_FN_STR_LOCATE </li>
<li>SQL_FN_STR_LOCATE_2 </li>
<li>SQL_FN_STR_LTRIM</li>
<li>SQL_FN_STR_REPEAT </li>
<li>SQL_FN_STR_REPLACE </li>
<li>SQL_FN_STR_RIGHT </li>
<li>SQL_FN_STR_RTRIM </li>
<li>SQL_FN_STR_SOUNDEX </li>
<li>SQL_FN_STR_SPACE </li>
<li>SQL_FN_STR_SUBSTRING </li>
<li>SQL_FN_STR_UCASE</li>
</ul>
<p>If an application can call the LOCATE scalar function with the string1,
string2, and start arguments, the SQL_FN_STR_LOCATE bit mask is returned.
If an application can only call the LOCATE scalar function with the string1
and string2, the SQL_FN_STR_LOCATE_2 bit mask is returned. If the LOCATE scalar
function is fully supported, both bit masks are returned.</p>
</td>
</tr>
<tr><td valign="top" width="39.70037453183521%" headers="d0e160 ">SQL_TIMEDATE_FUNCTIONS</td>
<td valign="top" width="16.292134831460675%" headers="d0e163 ">32-bit mask</td>
<td valign="top" width="44.00749063670412%" headers="d0e165 "><p>Indicates which time and date functions are supported.</p>
<p>The
following bit masks are used to determine which date functions are supported:</p>
<ul><li>SQL_FN_TD_CURDATE</li>
<li>SQL_FN_TD_CURTIME</li>
<li>SQL_FN_TD_DAYNAME</li>
<li>SQL_FN_TD_DAYOFMONTH</li>
<li>SQL_FN_TD_DAYOFWEEK</li>
<li>SQL_FN_TD_DAYOFYEAR</li>
<li>SQL_FN_TD_HOUR</li>
<li>SQL_FN_TD_JULIAN_DAY </li>
<li>SQL_FN_TD_MINUTE </li>
<li>SQL_FN_TD_MONTH</li>
<li>SQL_FN_TD_MONTHNAME</li>
<li>SQL_FN_TD_NOW</li>
<li>SQL_FN_TD_QUARTER</li>
<li>SQL_FN_TD_SECOND</li>
<li>SQL_FN_TD_SECONDS_SINCE_MIDNIGHT</li>
<li>SQL_FN_TD_TIMESTAMPADD</li>
<li>SQL_FN_TD_TIMESTAMPDIFF</li>
<li>SQL_FN_TD_WEEK</li>
<li>SQL_FN_TD_YEAR</li>
</ul>
</td>
</tr>
<tr><td align="left" valign="top" width="39.70037453183521%" headers="d0e160 ">SQL_TXN_CAPABLE</td>
<td align="left" valign="top" width="16.292134831460675%" headers="d0e163 ">Short int</td>
<td align="left" valign="top" width="44.00749063670412%" headers="d0e165 "><div class="p">Indicates whether transactions can contain
DDL or DML or both: <ul><li>SQL_TC_NONE Transactions are not supported.</li>
<li><img src="./delta.gif" alt="Start of change" />SQL_TC_DML Transactions can only contain DML statements
(SELECT, INSERT, UPDATE, DELETE, and so on). DDL statements (CREATE TABLE,
DROP INDEX, and so on) encountered in a transaction cause an error.<img src="./deltaend.gif" alt="End of change" /></li>
<li>SQL_TC_DDL_COMMIT Transactions can only contain DML statements. DDL
statements encountered in a transaction cause the transaction to be committed.</li>
<li>SQL_TC_DDL_IGNORE Transactions can only contain DML statements. DDL
statements encountered in a transaction are ignored.</li>
<li>SQL_TC_ALL Transactions can contain DDL and DML statements in any order.</li>
</ul>
</div>
</td>
</tr>
<tr><td valign="top" width="39.70037453183521%" headers="d0e160 "><p><img src="./delta.gif" alt="Start of change" />SQL_USER_NAME<img src="./deltaend.gif" alt="End of change" /></p>
</td>
<td valign="top" width="16.292134831460675%" headers="d0e163 "><p><img src="./delta.gif" alt="Start of change" />String<img src="./deltaend.gif" alt="End of change" /></p>
</td>
<td valign="top" width="44.00749063670412%" headers="d0e165 "><p><img src="./delta.gif" alt="Start of change" />User name used in a particular database.<img src="./deltaend.gif" alt="End of change" /></p>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div class="section"><h4 class="sectiontitle">Return codes</h4><ul><li>SQL_SUCCESS</li>
<li>SQL_SUCCESS_WITH_INFO</li>
<li>SQL_ERROR</li>
<li>SQL_INVALID_HANDLE</li>
</ul>
</div>
<div class="section"><h4 class="sectiontitle">Diagnostics</h4>
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" width="100%" frame="hsides" border="1" rules="rows"><caption>Table 3. SQLGetInfo SQLSTATEs</caption><thead align="left"><tr><th align="left" valign="top" width="25%" id="d0e1134">SQLSTATE</th>
<th align="left" valign="top" width="25%" id="d0e1136">Description</th>
<th align="left" valign="top" width="50%" id="d0e1138">Explanation</th>
</tr>
</thead>
<tbody><tr><td align="left" valign="top" width="25%" headers="d0e1134 "><strong>01</strong>004</td>
<td align="left" valign="top" width="25%" headers="d0e1136 ">Data truncated</td>
<td align="left" valign="top" width="50%" headers="d0e1138 ">The requested information is returned as
a null-terminated string and its length exceeded the length of the application
buffer as specified in <em>cbInfoValueMax</em>. The argument <em>pcbInfoValue</em> contains
the actual (not truncated) length of the requested information.</td>
</tr>
<tr><td align="left" valign="top" width="25%" headers="d0e1134 "><strong>08</strong>003</td>
<td align="left" valign="top" width="25%" headers="d0e1136 ">Connection not open</td>
<td align="left" valign="top" width="50%" headers="d0e1138 ">The type of information requested in <em>fInfoType</em> requires
an open connection. Only SQL_ODBC_VER does not require an open connection.</td>
</tr>
<tr><td align="left" valign="top" width="25%" headers="d0e1134 "><strong>40</strong>003 <strong>*</strong></td>
<td align="left" valign="top" width="25%" headers="d0e1136 ">Statement completion unknown</td>
<td align="left" valign="top" width="50%" headers="d0e1138 ">The communication link between the CLI and
the data source fails before the function completes processing.</td>
</tr>
<tr><td align="left" valign="top" width="25%" headers="d0e1134 "><strong>58</strong>004</td>
<td align="left" valign="top" width="25%" headers="d0e1136 ">System error</td>
<td align="left" valign="top" width="50%" headers="d0e1138 ">Unrecoverable system error.</td>
</tr>
<tr><td align="left" valign="top" width="25%" headers="d0e1134 "><strong>HY</strong>001</td>
<td align="left" valign="top" width="25%" headers="d0e1136 ">Memory allocation failure</td>
<td align="left" valign="top" width="50%" headers="d0e1138 ">The driver is unable to allocate memory required
to support the processing or completion of the function.</td>
</tr>
<tr><td align="left" valign="top" width="25%" headers="d0e1134 "><strong>HY</strong>009</td>
<td align="left" valign="top" width="25%" headers="d0e1136 ">Argument value that is not valid</td>
<td align="left" valign="top" width="50%" headers="d0e1138 ">The argument <em>rgbInfoValue</em> is a null
pointer <p>An <em>fInfoType</em> that is not valid is specified.</p>
</td>
</tr>
<tr><td align="left" valign="top" width="25%" headers="d0e1134 "><strong>HY</strong>013 <strong>*</strong></td>
<td align="left" valign="top" width="25%" headers="d0e1136 ">Memory management problem</td>
<td align="left" valign="top" width="50%" headers="d0e1138 ">The driver is unable to access memory required
to support the processing or completion of the function.</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
<div>
<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="rzadphdapi.htm" title="This topic provides a description of each CLI function.">DB2 UDB CLI functions</a></div>
</div>
</div>
</body>
</html>