User receives errors if Report Server is configured with NLS codepage 930 and queries against Db2


Diagnostics

Product: Reporting Server
Release: 8206 Release: 7710
Primary OS: z/OS
Solution Date:

Symptom

(FOC1400) SQLCODE IS -130 (HEX: FFFFFF7E)
(FOC1500)  : DSNT408I SQLCODE = -130, ERROR:  THE ESCAPE CLAUSE CONSISTS OF MORE THAN ONE CHARACTER, OR
(FOC1500)  : THE STRING PATTERN CONTAINS AN INVALID OCCURRENCE OF THE ESCAPE CHARACTER
(FOC1500)  : DSNT418I SQLSTATE   = 22019 SQLSTATE RETURN CODE
(FOC1500)  : DSNT415I SQLERRP    = DSNXOW2D SQL PROCEDURE DETECTING ERROR
(FOC1500)  : DSNT416I SQLERRD    = -101  0  0  -1  0  0 SQL DIAGNOSTIC INFORMATION
(FOC1500)  : DSNT416I SQLERRD    = X'FFFFFF9B'  X'00000000'  X'00000000' X'FFFFFFFF'  X'00000000'  X'00000000' SQL DIAGNOSTIC INFORMATION

Problem

The user receives the error messages above when the Reporting Server is configured with NLS codepage 930, queries against Db2 that contain a WHERE with a LIKE generates invalid SQL syntax:

(T1."TKSKYN" LIKE '170591þþ' ESCAPE 'þ') 

Solution

Codepage 930 is an old value that is only supported for the SSCTL model of the Reporting Server. It will only work with limited functionality in newer releases such as release 7710. For example, the Web Console is a feature that will not work with that codepage resulting in generating SQL incorrectly.

If you must use CODE_PAGE = 930, then add the following setting to the NLSCFG.err file:  NLSCTRL=OFF