
June 14th, 2006, 11:00 AM
|
|
Registered User
|
|
Join Date: Jun 2006
Posts: 3
Time spent in forums: 29 m 4 sec
Reputation Power: 0
|
|
|
Getting SQLDA diagnostic data
According to the DB2 manual, the way you get diagnostic info is by calling GET DIAGNOSTICS. Here is a bit of code to help. The Token String is what contains the values seperated by '0xFF'. You can look up the function in the SQL book for more details.
(BTW, you don't NEED all the variables. I was trying to track a problem and dumped as much as I thought might be remotely useful.)
RPG Embedded SQL Code:
Original
- RPG Embedded SQL Code |
|
|
|
D dasqlcode S 10I 0
D datokencnt S 10I 0
D datoken1 S 32740A VARYING
D datoken2 S 32740A VARYING
D datoken3 S 32740A VARYING
D datoken4 S 32740A VARYING
D datoken5 S 32740A VARYING
D datokenstr S 70A VARYING
D dasqlerrdid S 10A
D dasqlerrd1b S 7A VARYING
D dasqlerrd2b S 7A VARYING
D damsgtext S 32740A VARYING
C/EXEC SQL
C+ GET CURRENT DIAGNOSTICS CONDITION 1
C+ :dasqlcode = DB2_RETURNED_SQLCODE,
C+ :datokencnt = DB2_TOKEN_COUNT,
C+ :datoken1 = DB2_ORDINAL_TOKEN_1,
C+ :datoken2 = DB2_ORDINAL_TOKEN_2,
C+ :datoken3 = DB2_ORDINAL_TOKEN_3,
C+ :datoken4 = DB2_ORDINAL_TOKEN_4,
C+ :datoken5 = DB2_ORDINAL_TOKEN_5,
C+ :datokenstr = DB2_TOKEN_STRING,
C+ :dasqlerrdid = DB2_MESSAGE_ID,
C+ :dasqlerrd1b = DB2_MESSAGE_ID1,
C+ :dasqlerrd2b = DB2_MESSAGE_ID2,
C+ :damsgtext = MESSAGE_TEXT
C/END-EXEC
|