DB2 - Problem description
Problem IC67116 | Status: Closed |
SQLExecute in CLI returns SQL401N for comparison operators when using deferred prepare against a non-unicode target database | |
product: | |
DB2 FOR LUW / DB2FORLUW / 970 - DB2 | |
Problem description: | |
SQL401N is returned when all of the following conditions are satisfied: (1) Registry variable DB2_DEFERRED_PREPARE_SEMANTICS=YES or DB2_COMPATIBILITY_VECTOR=ORA has been set (2) target database is a non-unicode database (3) SQLExecute in CLI is preparing a statement with a comparison operator (4) One operand of the comparison operator mentioned in (3) is a parameter marker and C type/data used is double byte. (5) The other operand of the comparison operator in (3) resolves to type CHAR or VARCHAR | |
Problem Summary: | |
**************************************************************** * USERS AFFECTED: * * DB2 UDB Version 9.7 * **************************************************************** * PROBLEM DESCRIPTION: * * SQL401N is returned when all of the following conditions * * aresatisfied:(1) Registry variable * * DB2_DEFERRED_PREPARE_SEMANTICS=YES * * orDB2_COMPATIBILITY_VECTOR=ORA has been set(2) target * * database is a non-unicode database(3) SQLExecute in CLI is * * preparing a statement with acomparisonoperator(4) One * * operand of the comparison operator mentioned in (3)is * * aparameter marker and C type/data used is double byte.(5) * * The other operand of the comparison operator in * * (3)resolvesto type CHAR or VARCHAR * **************************************************************** * RECOMMENDATION: * * Upgrade to Version 9.7 FixPack 2. * **************************************************************** | |
Local Fix: | |
(1) Issue "db2set DB2_DEFERRED_PREPARE_SEMANTICS=NO", or (2) Use single byte data instead of double byte data in the application. For example, if you are using UCS-2 data and SQL_C_WCHAR C_Type, switch to using Unicode 1208 codepage and data, and SQL_C_CHAR C_Type in the application. | |
available fix packs: | |
DB2 Version 9.7 Fix Pack 2 for Linux, UNIX, and Windows | |
Solution | |
Problem was first fixed in DB2 UDB Version 9.7 FixPack 2. | |
Workaround | |
(1) Issue "db2set DB2_DEFERRED_PREPARE_SEMANTICS=NO", or (2) Use single byte data instead of double byte data in the application. For example, if you are using UCS-2 data and SQL_C_WCHAR C_Type, switch to using Unicode 1208 codepage and data, and SQL_C_CHAR C_Type in the application. | |
BUG-Tracking | |
forerunner : APAR is sysrouted TO one or more of the following: IC67248 follow-up : | |
Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 10.03.2010 31.05.2010 31.05.2010 |
Problem solved at the following versions (IBM BugInfos) | |
9.7.FP2 | |
Problem solved according to the fixlist(s) of the following version(s) | |
9.7.0.2 |