Topic
  • 2 replies
  • Latest Post - ‏2011-11-24T20:58:54Z by RobJ98004
lasmias
lasmias
2 Posts

Pinned topic IIS Internet Info Svr 6.0 ES and .Net - Randomly connection problems with a

‏2011-11-22T11:30:05Z |
Hi all, we have a random problem ...

Microsoft send us a the dump ... on the i we not found any error ...

Any suggestions will be appreciated

They are getting this error: A communication error occurred. Executing SQL query GFLEJEC.FAWQMQX00
0d8ae900 05a02116 IBM.Data.DB2.iSeries.iDB2Exception.throwDcException(IBM.Data.DB2.iSeries.MpDcErrorInfo, IBM.Data.DB2.iSeries.MPConnection)

0d8ae954 0dd3607c IBM.Data.DB2.iSeries.iDB2Command.reportDCError(Int32)
0d8ae9b8 0dd3083f IBM.Data.DB2.iSeries.iDB2Command.Prepare()
0d8aea08 0dd3010c IBM.Data.DB2.iSeries.iDB2Command.ExecuteReader(System.Data.CommandBehavior)
0d8aea28 0d6eff05 IBM.Data.DB2.iSeries.iDB2Command.System.Data.IDbCommand.ExecuteReader(System.Data.CommandBehavior)
0d8aea2c 652300e3 System.Data.Common.DbDataAdapter.FillInternal(System.Data.DataSet, System.Data.DataTable[], Int32, Int32, System.String, System.Data.IDbCommand, System.Data.CommandBehavior)
0d8aea84 65593c73 System.Data.Common.DbDataAdapter.Fill(System.Data.DataTable[], Int32, Int32, System.Data.IDbCommand, System.Data.CommandBehavior)
0d8aeac4 65593f10 System.Data.Common.DbDataAdapter.Fill(System.Data.DataTable)
0d8aeaf8 0d6e88d3 ISBAN.SCF.DAL.iDB2DbAccess.SqlSProcedureDT(System.String, System.String, System.String, System.String)
0d8aeb58 0d6e8585 ISBAN.SCF.DAL.iDB2DbAccess.SqlSProcedureDT(System.String)
0d8aeb88 0da43c89 ContratacionWeb.BLL.Codigos.GetCodigos400(System.String)
0d8aeba4 0da43b43 ContratacionWebFront.UI.Controles.ucDatosAdicionales.CargaCombos()
0d8aebdc 0da4073c ContratacionWebFront.UI.frmSolicitud.Page_Load(System.Object, System.EventArgs)

The exception is:

0:025> !do 181a91c8
Name: IBM.Data.DB2.iSeries.iDB2Error
MethodTable: 0dd44ac0
EEClass: 0da2ef48
Size: 24(0x18) bytes
GC Generation: 0

(C:\WINDOWS\assembly\GAC\IBM.Data.DB2.iSeries\10.0.0.0__9cdb2ebfb1f93a26\IBM.Data.DB2.iSeries.dll)

Fields:
MT Field Offset Type VT Attr Value Name
79330b24 4000213 4 System.String 0 instance 1c176db8 m_Message
79330b24 4000214 8 System.String 0 instance 181a8fa0 m_MessageDetails
79332d70 4000215 10 System.Int32 1 instance 10054 m_MessageCode
79330b24 4000216 c System.String 0 instance 140601d0 m_SQLSTATE
0:025> !do 1c176db8

String: A communication error occurred.

0:025> !do 181a8fa0

String: CWBCO1047 - La aplicación del servidor iSeries ha desconectado la conexión
User Id=usinternet;Password=internetus;Data Source=172.35.10.50;

The commnad executed is : call GFLEJEC.FAWQMQX00( ?)

parameters:

Name: @PTABLA

Value: TTAR

m_iDB2DbType: 7
Updated on 2011-11-24T20:58:54Z at 2011-11-24T20:58:54Z by RobJ98004
  • lasmias
    lasmias
    2 Posts

    Re: IIS Internet Info Svr 6.0 ES and .Net - Randomly connection problems with a

    ‏2011-11-22T15:10:35Z  
    I upload the error ... on the web browser ...

    Any idea will be apreciate ...

    I open a ticket on IBM but i haven't support ... the ODBC is on V5R3 ... but i have much client running fine ..
  • RobJ98004
    RobJ98004
    3 Posts

    Re: IIS Internet Info Svr 6.0 ES and .Net - Randomly connection problems with a

    ‏2011-11-24T20:58:54Z  
    • lasmias
    • ‏2011-11-22T15:10:35Z
    I upload the error ... on the web browser ...

    Any idea will be apreciate ...

    I open a ticket on IBM but i haven't support ... the ODBC is on V5R3 ... but i have much client running fine ..
    I too was seeing similar issues as this, where "A communication error" would occur.

    According to the IBM documentation (Integrating DB2 for iSeries with ADO.NET), a new property was added to the iDB2Connection object in V5R3M0 Service Pack SI17742, CheckConnectionOnOpen. Setting this property to true in the connection string resolved my issues. Below is the copy from the documentation. Hope this helps.

    The CheckConnectionOnOpen property can be used to guard against communication errors
    that result from trying to open a pooled connection whose host server job has ended. These
    communication errors could occur, for example, if you leave your application running
    overnight, and the iSeries server is IPLed for maintenance. When your application tries to
    Open a pooled connection, it gets a communication error because the pooled host server job
    has ended. The normal recovery for a communication error is to Close and then Open (or
    re-Open) the failing connection; but when there are potentially many pooled connections
    whose server jobs have ended, you could still end up with communication errors when the
    connection is re-opened if you pick up a different broken pooled connection.

    Setting CheckConnectionOnOpen=true in your ConnectionString causes the provider to send a
    small amount of data to the host server when you Open the connection. If the provider detects
    that the host server job is not responding, it opens a new connection to the server. Otherwise
    it returns the pooled connection. Note that in the case of a persistent communication error,
    you may still see communication errors on Open, even when using the
    CheckConnectionOnOpen property.