DB2 10.5 for Linux, UNIX, and Windows

Patch2 CLI/ODBC configuration keyword

Specifies a workaround for known CLI and ODBC application problems.

db2cli.ini keyword syntax:
Patch2 = "patch value 1, patch value 2, patch value 3, ..."
Default setting:
Use no workarounds
Usage notes:
The PATCH2 keyword is used to specify a work-around for known problems with CLI and ODBC applications. The value that is specified can be for none, one, or multiple work-arounds. The patch values specified here can be used with any CLIPatch1 values that might also be set.
When you specify multiple patch values, 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 Patch2 values 3, 4 and 8 you would specify:
Patch2="3, 4, 8"
Table 1. Patch2 CLI/ODBC configuration keyword values.
Value Description
1 Deprecated value.
3 Reserved for the service use.
4 Deprecated value.
5 Deprecated value.
6 Forces the driver to return a message, which indicates that the scrollable cursors are not supported. The PATCH2=6 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 are explicitly requested by the application.
7 Maps all GRAPHIC column data types to the CHAR column data type. The precision of a GRAPHIC column is doubled; for example, GRAPHIC(20) is 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 value.
13 Prevents keywords in the db2cli.ini initialization file from being appended to the output connection string.
14 Deprecated value.
15 Causes a period separator to be used instead of the default locale's decimal separator in character output.
16 Deprecated value.
17 Deprecated value.
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 must be set only 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 value.
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 value.
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 value.
29 Removes leading zeros 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 value.
32 Deprecated value.
33 Returns the ISO version of timestamp data when converted to CHAR, rather than the ODBC version.
34 Deprecated value.
38 Turns off statement caching.
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 might 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 DB2TERRITORY, or DB2CODEPAGE are set. The only supported decimal separators are the period and comma.
69 Causes the SQLTables() function to return the CLI0150E error when the SQLTables() function is called with a catalog name that is not NULL. If the PATCH2=69 setting is not set, calls to the SQLTables() function with a catalog name returns an empty result-set.
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. The CLIPatch2=78 value causes the SQLGetPosition() function to query SYSIBM.SYSDUMMYU instead of SYSIBM.SYSDUMMY1.
81 Returns an empty string for the column name of an expression.
82 Forces the CLI driver to replace the SQL_ATTR_RESET_CONNECTION environment attribute with the SQL_ATTR_REPLACE_QUOTED_LITERALS environment attribute value.