• Add a Comment
  • Edit
  • More Actions v
  • Quarantine this Entry

Comments (7)

1 localhost commented Permalink

Do you have any information on how to configure / run a clientside DRDA trace ?

 

2 localhost commented Permalink

Hi Mark,

 
There's a command to start it - db2drdat.
 
I found it described in the DB2 documentation at this link: http://publib.boulder.ibm.com/infocenter/db2luw/v9/topic/com.ibm.db2.udb.admin.doc/doc/r0001997.htm
 
(I can't put it in HTML, so you'll have to cut/paste that).
 
I realize that the client environments are complex, and thatfiguring out exactly WHERE to issue the command may present a challenge. If you have more specifics on your environment, I'll try to help you track down exactly how to get it started.

3 localhost commented Permalink

Hi Peggy. I've been experimenting a bit with java code using the legacy JDBC driver. One issue that I've hit is an output parameter in the SP defined as

 
OUT OUTCHAR CHAR(4) FOR SBCS DATA CCSID EBCDIC
 
When I register this in my java program I'm using
 
stmt.registerOutParameter(2, java.sql.Types.CHAR);
 
I would expect that this would be a type match and not require a call to SYSIBM.SQLPROCEDURECOLS. However, this appears not to be the case. SYSIBM.SQLPROCEDURECOLS gets called in this situation. I've also tried VARCHAR with the same results. Do you have any advice or explanation for this behavior?

4 localhost commented Permalink

Hi Bill,

 
It's the legacy driver. The legacy (pre-Universal) java driver always goes through the CLI path. So you really need t move up to use the DB2 Universal Java Driver to eliminate these calls.

5 localhost commented Permalink

Hi Peggy,My application is also getting the same sequence of logs as you mentioned in your post above ..i.e three times execution call to SP.And this happens a many times during the day for the same SP.In the mean time DB2 CLI driver crashes and the logs for the same I can see in event viewer.Because of this crash my application fails and user fails to login.Following is the snapshot of logs from sqltrace(taken by ADPlus dump) which shows thrice execution of SP....*****Query***Is this thrice execution of SP many times causes the DB2 CLI driver to crashes?Thanks in advance.SQLExecDirectW( hStmt=1:1, pszSqlStr="{ call RDC.ap_cm_split_acno (? ,? ,? ,? ,? ,? , ? )}", cbSqlStr=-3 ) ---> Time elapsed - +1.630000E-004 seconds( StmtOut="CALL RDC.ap_cm_split_acno (?,?,?,?,?,?,?)" )( Row=1, iPar=1, fCType=SQL_C_CHAR, rgbValue="93037710002106" - x'3933303337373130303032313036', pcbValue=-3, piIndicatorPtr=-3 ) sqlccsend( Handle - 36967856 ) sqlccsend( ulBytes - 217 ) sqlccsend( ) rc - 0, time elasped - +9.800000E-005 sqlccrecv( timeout - +0.000000E+000 ) sqlccrecv( ulBytes - 101 ) - rc - 0, time elapsed - +1.730000E-003 Elapsed Server Processing Time - +9.550000E-004( StmtOut="CALL SYSIBM.SQLPROCEDURECOLS(?,?,?,?,?)" )( Row=1, iPar=1, fCType=SQL_C_CHAR, rgbValue=<NULL pointer>, pcbValue=-1, piIndicatorPtr=-1 )( Row=1, iPar=2, fCType=SQL_C_CHAR, rgbValue="RDC" - x'524443', pcbValue=3, piIndicatorPtr=3 )( Row=1, iPar=3, fCType=SQL_C_CHAR, rgbValue="AP_CM_SPLIT_ACNO" - x'41505F434D5F53504C49545F41434E4F', pcbValue=16, piIndicatorPtr=16 )( Row=1, iPar=4, fCType=SQL_C_CHAR, rgbValue=<NULL pointer>, pcbValue=-1, piIndicatorPtr=-1 )( Row=1, iPar=5, fCType=SQL_C_CHAR, rgbValue="DATATYPE='ODBC';UNDERSCORE=0;GRAPHIC=1;REPORTUDTS=0;TYPEMAPPINGS=UDT:LUWUDT,ROWID:VARBINARY;SUPPORTEDNEWTYPES=XML,DECFLOAT;" - x'44415441545950453D274F444243273B554E44455253434F52453D303B475241504849433D313B5245504F5254554454533D303B545950454D415050494E47533D5544543A4C55575544542C524F5749443A56415242494E4152593B535550504F525445444E455754595045533D584D4C2C444543464C4F41543B', pcbValue=123, piIndicatorPtr=123 ) sqlccsend( Handle - 36967856 ) sqlccsend( ulBytes - 344 ) sqlccsend( ) rc - 0, time elasped - +8.800000E-005 sqlccrecv( timeout - +0.000000E+000 ) sqlccrecv( ulBytes - 2077 ) - rc - 0, time elapsed - +4.114000E-003 Elapsed Server Processing Time - +3.154000E-003( return=0 )( Requested Cursor Attributes=0 )( Reply Cursor Attributes=134742026 )( Actual Cursor Attributes=134742026 )( Retrying Call Statically since original call got SQLCODE==-301 )( Row=1, iPar=1, fCType=SQL_C_CHAR, rgbValue="93037710002106" - x'3933303337373130303032313036', pcbValue=-3, piIndicatorPtr=-3 ) sqlccsend( Handle - 36967856 ) sqlccsend( ulBytes - 217 ) sqlccsend( ) rc - 0, time elasped - +1.600000E-005 sqlccrecv( timeout - +0.000000E+000 ) sqlccrecv( ulBytes - 116 ) - rc - 0, time elapsed - +4.566000E-003( Row=1, iPar=2, fCType=SQL_C_CHAR, rgbValue="TD" - x'5444', pcbValue=2, piIndicatorPtr=2 )( Row=1, iPar=3, fCType=SQL_C_SHORT, rgbValue=377, pcbValue=2, piIndicatorPtr=2 )( Row=1, iPar=4, fCType=SQL_C_SHORT, rgbValue=11, pcbValue=2, piIndicatorPtr=2 )( Row=1, iPar=5, fCType=SQL_C_LONG, rgbValue=100021, pcbValue=4, piIndicatorPtr=4 )( Row=1, iPar=6, fCType=SQL_C_UTINYINT, rgbValue=6, pcbValue=1, piIndicatorPtr=1 )( Row=1, iPar=7, fCType=SQL_C_LONG, rgbValue=0, pcbValue=4, piIndicatorPtr=4 ) Elapsed Server Processing Time - +3.929000E-003( return=0 )( Unretrieved error message="[IBM][CLI Driver][DB2] SQL0301N The value of input host variable or parameter number "" cannot be used because of its data type. SQLSTATE=42895" )

 

6 localhost commented Permalink

Hi - you need to fix your application to send the right datatypes. The datatypes for each parm are right there in your trace, but the earlier entries show that the application is sending all character data. You can save a lot of network traffic by fixing this application.

7 localhost commented Permalink

Hi Peggy,

 
I am trying to run a C++ program containing many CLI Function calls.
 
I have a problem with calling SQLDESCRIBEPARAM Function. It does not work only on DB2 Z/Os Server while, it works perfectly on Windows. It fails with SQLSTATE HYC00.
 
This error message indicates that some DB2 supplied stored procedures on the server are called by this fucntion call and some of them are having a problem of invocation. Please could you provide me any reference which can have metadata stored procedures called for this particular function.
 
Thanks,Devyani

Add a Comment Add a Comment