Win a copy of Design for the Mind this week in the Design forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Phantom Read / Garbled Data for WAS 5 to DB2 7 OS390

 
Ed Wallen
Ranch Hand
Posts: 34
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
I experienced a problem when trying to read and write data from WAS 5 to a DB2 7 mainframe database. The data would get garbled..........so on a read, a record that existed in the database would not get found (the primary key would get garbled into a different number) and for writes, the primary key would be some integer completely out of sequence (and often negative). No exceptions were thrown, so this was hard to track down. Below are my findings.

My environment: WAS 5.0.2.7 on AIX 5.1 going to DB2 v7.1 OS/390 database through DB2Connect 8.1.5 using the JCC Universal type 2 XA driver.

IBM recommended using patch UQ84225.


Error description
DB2DDF DDFL09 DB2DRDA defect pq82641 dpq82641
Integer value is erroreously being byte reversed at Insert when
client coming in with connection pooling.
Problem summary
****************************************************************
* USERS AFFECTED: All Distributed Data Facility (DDF) users. *
* Specifically those with DB2 Connect V6 *
* (or better) client applications that are *
* using connection pooling. *
****************************************************************
* PROBLEM DESCRIPTION: Numeric values sent to a DB2/390 server *
* from a DB2 Connect V6 (or more recent) *
* client application may incorrectly be *
* thought to be in a byte reversed *
* format and DB2/390 will reverse the *
* bytes, creating an incorrect value. *
* *
****************************************************************


-Ed
 
Ed Wallen
Ranch Hand
Posts: 34
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Due to this issue, some of the primary key Integers that got inserted into the database fell victim to this IBM bug. I had to provide the application team with a means of converting the identifier to the correct value (reversing the bytes). Here is the simple class that I wrote:



-Ed
[ April 01, 2005: Message edited by: Ed Wallen ]
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic