DG4DRDA 11.2 And Char Columns With HS_KEEP_REMOTE_COLUMN_SIZE - SP2-0784 Error

(Doc ID 1275216.1)

Last updated on JANUARY 18, 2017

Applies to:

Oracle Database Gateway for DRDA - Version 11.2.0.1 to 11.2.0.1 [Release 11.2]
Oracle Database - Enterprise Edition - Version 11.2.0.3 to 11.2.0.3 [Release 11.2]
Information in this document applies to any platform.
***Checked for relevance on 12-May-2014***

Symptoms


When selecting the following table via DG4DRDA 11.2.0.1 we get either the wrong content or the wrong length.

It's like HS_KEEP_REMOTE_COLUMN_SIZE and HS_NLS_LENGTH_SEMANTICS=CHAR do not work correctly.

1 - If database is created with character set : AL32UTF8, you can have this error:

SQL> select schluessel_U from midbi.mit0012@phi where id = 27268400214;
SP2-0784: Invalid or incomplete character beginning 0xC3 returned

2 - If database is created with character set : WE8ISO8859P15, you can have this behavior:

CASE 1:

With    HS_KEEP_REMOTE_COLUMN_SIZE=ALL

SQL> select schluessel_U from midbi.mit0012@phi where id = 27268400214;

SCHLUESSE
---------
LR1 <==========wrong result

SQL> select dump(schluessel_U) from midbi.mit0012@phi where id = 27268400214;

DUMP(SCHLUESSEL_U)
--------------------------------------------------------------------------------
Typ=96 Len=3: 76,82,105 <=================3 characters

SQL> desc midbi.mit0012@phi
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 ID                                        NOT NULL NUMBER(15)
 SCHLUESSEL                                NOT NULL CHAR(3)
 SCHLUESSEL_U                              NOT NULL CHAR(3)
 BEZEICHNUNG                               NOT NULL CHAR(35)
 BEZEICHNUNG_U                             NOT NULL CHAR(35)
 STATUS                                    NOT NULL CHAR(1)
 ERSTELLT_VON                              NOT NULL CHAR(8)
 ERSTELLT_AM                               NOT NULL CHAR(26)
 GEAENDERT_VON                             NOT NULL CHAR(8)
 GEAENDERT_AM                              NOT NULL CHAR(26)





Case 2:

With HS_KEEP_REMOTE_COLUMN_SIZE=OFF

SQL> select schluessel_U from midbi.mit0012@phi where id = 27268400214;

SCHLUESSEL_U
---------------------------
LR�  <=============Good result

SQL> select dump(schluessel_U) from midbi.mit0012@phi where id = 27268400214;

DUMP(SCHLUESSEL_U)
--------------------------------------------------------------------------------
Typ=96 Len=9: 76,82,220,32,32,32,32,32,32 <===== 3Bytes

SQL> desc midbi.mit0012@phi
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 ID                                        NOT NULL NUMBER(15)
 SCHLUESSEL                                NOT NULL CHAR(9)
 SCHLUESSEL_U                              NOT NULL CHAR(9)
 BEZEICHNUNG                               NOT NULL CHAR(105)
 BEZEICHNUNG_U                             NOT NULL CHAR(105)
 STATUS                                    NOT NULL CHAR(3)
 ERSTELLT_VON                              NOT NULL CHAR(24)
 ERSTELLT_AM                               NOT NULL CHAR(26)
 GEAENDERT_VON                             NOT NULL CHAR(24)
 GEAENDERT_AM                              NOT NULL CHAR(26)



Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms