home clear 64x64
en blue 200x116 de orange 200x116 info letter User
suche 36x36
Neueste VersionenFixList
11.1.0.7 FixList
10.5.0.9 FixList
10.1.0.6 FixList
9.8.0.5 FixList
9.7.0.11 FixList
9.5.0.10 FixList
9.1.0.12 FixList
Haben Sie Probleme? - Kontaktieren Sie uns.
Kostenlos registrieren anmeldung-x26
Kontaktformular kontakt-x26

DB2 - Problembeschreibung

Problem IC94950 Status: Geschlossen

FED: UPDATE NICKNAME FAILED WITH SQL1822N WITH "HY104 INVALID
PRECISION VALUE"

Produkt:
DB2 FOR LUW / DB2FORLUW / 970 - DB2
Problembeschreibung:
Remote column on MSSQL Server is nvarchar or nchar and the local 
column type used to update the corresponding nickname is 
vargraphic, when the local column length is over than 2000, 
update nickname failed with  SQL1822N with server error "HY104 
Invalid precision value". 
 
UPDATE NICK1 SET ( C1 ) = ( select C1 from LTAB) 
 
DB21034E  The command was processed as an SQL statement because 
it was not a valid Command Line Processor command.  During SQL 
processing it returned: 
SQL1822N  Unexpected error code "HY104" received from data 
source "MSSQL2008_SERV". Associated text and tokens are "Invalid 
precision value". SQLSTATE=560BD 
 
To reproduce the problem: 
 
set passthru mssql2008_serv; 
CREATE TABLE RTAB(C1 nvarchar(4000) COLLATE 
SQL_Latin1_General_CP1_CI_AS NULL); 
set passthru reset; 
 
CREATE NICKNAME NICK1 FOR <server_name>.<user_name>.RTAB; 
create LTAB (C1 vargraphic(2001)); 
insert into LTAB values ('the values is over 2000 characters '); 
 
UPDATE NICK1 SET ( C1 ) = ( select C1 from LTAB) 
DB21034E  The command was processed as an SQL statement because 
it was not a valid Command Line Processor command.  During SQL 
processing it returned: 
SQL1822N  Unexpected error code "HY104" received from data 
source "MSSQL2008_SERV". Associated text and tokens are "Invalid 
precision value". SQLSTATE=560BD 
 
The error happens because the local column precision is 
calculated as the physical buffer length. If the column is a 
double byte type with length 2001, the precision will be 4002 
which over the threshold of max permit value.
Problem-Zusammenfassung:
**************************************************************** 
* USERS AFFECTED:                                              * 
* Update nickname failed with  SQL1822N with "HY104 Invalid    * 
* precision value"                                             * 
**************************************************************** 
* PROBLEM DESCRIPTION:                                         * 
* See Error Description                                        * 
**************************************************************** 
* RECOMMENDATION:                                              * 
* Upgrade to DB2 v9.7 fix pace 9.                              * 
****************************************************************
Local-Fix:
Define the local column with length no larger than 2000.
verfügbare FixPacks:
DB2 Version 9.7 Fix Pack 9 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 9a for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 10 for Linux, UNIX, and Windows

Lösung
This problem is fixed in DB2 v9.7 fix pace 9.
Workaround
keiner bekannt / siehe Local-Fix
Bug-Verfolgung
Vorgänger  : APAR is sysrouted TO one or more of the following: IC95524 IC95657 
Nachfolger : 
Weitere Daten
Datum - Problem gemeldet    :
Datum - Problem geschlossen :
Datum - der letzten Änderung:
16.08.2013
16.12.2013
16.12.2013
Problem behoben ab folgender Versionen (IBM BugInfos)
9.0.,
9.7.
Problem behoben lt. FixList in der Version
9.7.0.9 FixList
9.7.0.9 FixList