DB2 Version 9.7 for Linux, UNIX, and Windows

CLIPatch2 IBM Data Server Driver configuration keyword

Specifies a work-around for known CLI and ODBC application problems.

Equivalent CLI keyword
Patch2
Equivalent IBM® Data Server Provider for .NET connection string keyword
N/A
db2dsdriver.cfg configuration syntax
<parameter name="CLIPatch2" value="patch value 1, patch value 2, patch value 3, ..."/>
Default setting:
Use no work-arounds
Usage notes:
This keyword is used to specify a work-around for known problems with CLI and ODBC applications. The value specified can be for none, one, or multiple work-arounds. The patch values specified here may be used in conjunction with any CLIPatch1 values that may also be set.
When specifying multiple patches, the values are specified in a comma delimited string (unlike the CLIPatch1 option where the values are added together and the sum is used).
  • 0 = No work around (default)
To set CLIPatch2 values 3, 4 and 8 you would specify:
CLIPatch2="3, 4, 8"
Table 1. CLIPatch2 CLI/ODBC configuration keyword values
Value Description
1 Deprecated
3 Service use only
4 Deprecated
5 Deprecated
6 Forces the driver to return a message indicating that scrollable cursors are not supported. This setting is needed by some applications (such as Visual Basic) that make use of LOBs or that do not need or want scrollable cursors to be used, even though they have been explicitly requested by the application.
7 Maps all GRAPHIC column data types to the CHAR column data type. The precision of a GRAPHIC column will also be doubled; for example, GRAPHIC(20) will be reported as CHAR(40).
8 Ignores catalog search arguments in schema calls.
11 SQLGetInfo() reports that catalog names are supported for Visual Basic stored procedures.
12 Deprecated
13 Prevents keywords in the db2cli.ini initialization file from being appended to the output connection string.
14 Deprecated
15 Causes a period separator to be used instead of the default locale's decimal separator in character output.
16 Deprecated
17 Deprecated
18 Attempts to replace literals with parameter markers for inefficient applications that use literals repeatedly. It is only applicable to INSERT SQL statements with the VALUES clause using only literals. Coding your application properly to use parameter markers is the best solution.
19 Removes parentheses from the ON clause of an outer join, where the outer join is an ODBC escape sequence and the server is DB2® for MVS™ Version 5. DB2 for MVS Version 5 does not currently support the ODBC syntax where parentheses are permitted in the ON clause of an outer join clause. Setting this CLIPatch2 value allows the outer join escape sequence to be used against DB2 for MVS Version 5. This value should only be set when the server is DB2 for MVS Version 5.
20 Forces the driver to rewrite the BETWEEN predicate when the server is DB2 for MVS. DB2 for MVS does not currently support the BETWEEN predicate with parameter markers as both operands. Setting this CLIPatch2 value causes (expression ? BETWEEN ?) to be rewritten as (expression >= ? and expression <= ?).
21 Deprecated
22 Causes SQLGetInfo() to report SQL_OUTER_JOINS=NO and SQL_OJ_CAPABILITIES=0. This prevents the application from using outer joins where they are not supported, thus ensuring that the outer join queries do not fail.
23 Deprecated
24 Reports TIME data as SQL_CHAR data. This patch value is used as a workaround for Microsoft Access applications.
25 Removes trailing zeros in the CHAR representation of DECIMAL columns; used as a workaround for Microsoft Access applications.
28 Deprecated
29 Removes leading zeroes in the string representation of DECIMAL values x, where 1 > x > -1; used as a workaround for ADO applications with some MDAC versions.
30 Disables stored procedure caching optimization.
31 Deprecated
32 Deprecated
33 Returns the ISO version of timestamp data when converted to CHAR, rather than the ODBC version.
34 Deprecated
38 Turns statement caching off
42 Prevents the FOR UPDATE clause from being used with keyset cursors. By default, most applications expect keyset cursors to be updatable, however, if this is not required, then this CLIPatch2 value makes the cursor read-only (but still scrollable and sensitive to changes made by others).
50 Frees LOB locators when SQLFetch() is executed, rather than when a COMMIT is issued. This CLIPatch2 value frees the locators that are used internally when applications fetch LOB data without binding the LOB columns with SQLBindCol() (or equivalent descriptor APIs). Locators that are explicitly returned to the application must still be freed by the application. This CLIPatch2 value can be used to avoid scenarios where an application receives SQLCODE = -429 (no more locators).
56 Allows client support for Early Close Cursors for those servers that do not support it as in the case of DB2 UDB for OS/390® version 7 or earlier.
57 Allows calling a stored procedure that returns a NULL output parameter value without providing an output indicator pointer. This is normally applicable to older versions of Borland Delphi products.
58 DateTime values inserted into the database that cause truncation errors can be downgraded to a truncation warning using this CLIPatch2 value.
61 When data is given to the client from an SQL_CHAR there may be right padded spaces. This patch value strips off right padded single byte spaces, but not double byte spaces. This behavior partially mimics the Neon Shadow Driver behavior
66 Allows applications to retrieve the regional setting that affects decimal separators in a Windows environment. The regional setting is normally ignored by default. This patch value is ignored if CLIPatch2=15 or db2set registry variables DB2COUNTRY, DB2TERRITORY, or DB2CODEPAGE are set. The only supported decimal separators are the period and comma.
78 Alters the behavior of the SQLGetPosition() function when the source LOB value is in a DBCLOB column on DB2 for z/OS® and OS/390 Version 7.1 or later. This CLIPatch2 value is available in DB2 Version 9.5 Fix Pack 2 and later and it causes the SQLGetPosition() function to query SYSIBM.SYSDUMMYU instead of SYSIBM.SYSDUMMY1.