Hallo!
I have the following situation:
A db2 v6.1 client on AIX 4.3 (db2level reports U469703) and a OS/390
database version 6.1 .
In some situations, I get the following error in my db2 CLI application:
[IBM][CLI Driver][DB2] SQL30081N A communication error has been
detected. Communication protocol being used: "TCP/IP". Communication
API being used: "SOCKETS". Location where the error was detected: "".
Communication function detecting the error: "recv". Protocol specific
error code(s): "*", "*", "0". SQLSTATE=08001
The hostlog reports:
DSNL027I # SERVER DISTRIBUTED AGENT WITH 447
LUWID=GA8C2002.DC63.D10E28211500=47952
THREAD-INFO=xxx
RECEIVED ABEND=0C4
FOR REASON=00000000
DSNL028I # GA8C2002.DC63.D10E28211500=47952 448
ACCESSING DATA FOR
LOCATION xxx
IPADDR xxx
And a DRDA trace on the client (db2drdat):
1802 DB2 fnc_data gateway_drda_ar sqljcsend (1.35.10.80)
pid 29626; tid 6429; node 0; cpid 188; sec 1075460255; nsec 79806729;
tpoint 177
SEND BUFFER: EXCSQLIMM RQSDSS (ASCII) (EBCDIC)
0 1 2 3 4 5 6 7 8 9 A B C D E F 0123456789ABCDEF 0123456789ABCDEF
0000 004ED05100010048 200A00442113C4E2 .N.Q...H ..D!...
..+}...........DS
0010 D5E3404040404040 4040404040404040 ..@@@@@@@@@@@@@@ NT
0020 D5E4D3D3C9C44040 4040404040404040 ......@@@@@@@@@@ NULLID
0030 4040E2D8D3D3C6F0 F0F0404040404040 @@........@@@@@@
SQLLF000
0040 4040404068414463 516144500041180A @@@@hADcQaDP.A..
....../.&....
0050 D003000118042414 000017FC43524541 ......$.....CREA
}...............
.....
<snip>
.....
1840 2929207C7C202727 2727207C7C202729 )) || '''' || ')
....@@......@@...
1850 2729293B20454E44 ')); END ......+.
1815 DB2 fnc_data gateway_drda_ar sqljcrecv (1.35.10.81)
pid 29626; tid 6429; node 0; cpid 188; sec 1075460255; nsec 228765463;
tpoint 181
COMMUNICATIONS ERROR RECEIVING
RECEIVE FUNCTION RC = 54
SEVERITY = 8
PROTOCOL USED = TCP/IP
API USED = SOCKETS
FUNCTION = recv
ERRNO = *
Can someone tell me why the communication is lost, or how to get more
information about the reason of the communication lost.
By the way: my assumtion was that create trigger statements are
transactional requests in db2, but after the above communication error,
the trigger was generated on the os/390 site. Is there a parameter on
the client site to avoid auto commit on connection lost?
Thanks
Andreas Lederer