Troubleshooting
Problem
Various DB2 conditions may occur when running WebSphere Data Interchange V3.3 MultiPlatform server under Windows. There is a known DB2 issue, and fix included on DB2 V9.7 Fix Pack 9, for users of WDI V3.3 server who have Windows Regional options set to a non-Latin code page.
Symptom
The following symptoms can occur when using a non-Latin code page such as 866 Russian Cyrillic or 1251 ANSI Cyrillic. Note: this is not an issue when using a Latin code page such as 437 United States or 1252 ANSI Latin 1 Western European.
Possible errors reported by WDI V3.3 server:
(a) SQL code = 100 (not found) condition, e.g. when a Trading partner name includes Cyrillic characters, e.g.
Message: EV0011 Severity: 12
Database transaction failed. Function=getStartingValues, SQL code=100, Table=EDIPSTP.
(b) SQL code = -1421 with embedded SQL1421N conversion error occurred, e.g.
Message: RS0000 Severity: 08
An error occurred during a repository access. Repository identifier = 120. Repository function ID = 4. Repository type = DB2 ****SQL1421N MBCS conversion error occurred when converting host variable or sqlvar "9" to or from wchar_t format. Reason code "2".
Environment
- WebSphere Data Interchange V3.3 for MultiPlatform with Server Fix Pack 9.
- DB2 V9.7 with Fix Pack 8 (or below).
- Microsoft Windows Server 2003 Enterprise Edition Service Pack 2.
- "Regional Options" are set to Russian; both "Standards and Format" and "Location" fields:

- "Language for non-Unicode programs" to Russian under "Advanced" tab:

- Windows Command prompt for "chcp" command shows: Active code page: 866
- WebSphere MQ V7.1 with queue manager set to CCSID(1251). To check the CCSID setting use runmqsc command:
display qmgr
Resolving The Problem
(1) Download and install DB2 V9.7 FP9 or above which includes the specific fix for APAR IC87556: CONVERSION ISSUE WHEN COMPILING WITH OPTION "WCHARTYPE"
(2) The implementation requires the setting of a (new) DB2 parameter via db2dsdriver.cfg file. The new parameter is "SkipLocalCPConversionForWcharConvert" with a value of "ON". This will tell DB2 to skip the local code page conversion.
Example "db2cli writecfg" command to update cfg file for WDI ediec33e database on a local host:
db2cli writecfg add -database ediec33e -host localhost -port 0 -parameters "SkipLocalCPConversionForWcharConvert=ON"
Example of resultant cfg file from above command:
- <?xml version="1.0" encoding="UTF-8" standalone="no" ?>
<configuration>
<databases>
<database host="localhost" name="ediec33e" port="0">
<parameter name="SkipLocalCPConversionForWcharConvert" value="ON"/>
</database>
</databases>
</configuration>
C:\Documents and Settings\All Users\Application Data\IBM\DB2\DB2COPY1\cfg
From DB2 Command Line Processor, enter "db2cli validate -database ediec33e:localhost:0" to check the "db2dsdriver.cfg Path" and the setting for "SkipLocalCPConversionForWcharConvert".
Example results:
- db2dsdriver.cfg Validation :
------------------------------------------------------------------
[ DB2DSDRIVER_CFG_PATH env var : unset ]
[ db2dsdriver.cfg Path : C:\Documents and Settings\All Users\Application Data\IBM\DB2\DB2COPY1\cfg\db2dsdriver.cfg ]
------------------------------------------------------------------
[ List of keywords used for Database : ediec33e ]
Keywords Valid For Value
-------------------------------------------------------
SKIPLOCALCPCONVERSIONFORWCHARCONVERT ESQL ON
----------------------------------------------------------------
The validation completed.
Related Information
Was this topic helpful?
Document Information
Modified date:
01 August 2018
UID
swg21670863