64 bit ODBC driver gets Socket error, function = RECV, Status = INTF Error, rC=1121

Document ID : KB000044735
Last Modified Date : 14/02/2018
Show Technical Document Details

Symptoms: 

Trying to bring up a web application on a new Windows Server 2012 gets errors. This is a 64 bit machine / operating system, which has been configured to use the TCP/IP (or IDMS) communications protocol.  When an attempt is made to build a connection using the 64 bit IDMS ODBC driver the following errors appear on the IDMS/DC log on the mainframe:

12:08  IDMS DC396003 V27 T7344 Socket error, function = RECV, errno = 1121, reason=0000000

12:08  IDMS DC410009 V27 T7344 DNS JCLI error Recv State, Return code is : 10 

12:08  IDMS DC410006 V27 T7344 DNS Processing error, Function is  RECEIVE_AND_WAIT, Status = INTF Error

The application running the same ASP code still works fine from the “OLD” windows servers that use the 32bit ODBC connection.

 

Environment:  

This error occurs when attempting to connect to a CA IDMS mainframe by running an ASP (Active Server page) application on a Windows Server 2012 under MS-IIS (Internet Information Services).

 

Cause: 

The 1121 socket error is the primary failure in this situation; the DNS errors are only interpretations of that error as it is percolated up the call stack. The 1121 code usually occurs when the other partner in the socket closes the connection. Given that this shows up on the back-end IDMS CV, attention needs to focus on the new front-end Server (Windows Server 2012) and IIS.

 

Resolution/Workaround:

A possible cause for the 1121 is the timeout settings on the client machine.  Verify that the data source is not configured with an unreasonably low "Wait Timeout" setting. 

Another potential cause for this error is outlined below: 

ODBC access is often-times performed using Microsoft’s OLEDB component.  Verify the bitwise version of OLEDB that is being used.  If it is determined that it is a 32-bit App, then IIS must be configured to permit 32-bit application usage. This option is specified on the IIS "Application Pools -> Advanced Settings" configuration page. If only 32-bit applications use this Pool, then you can simply check the flag to "Enable 32-bit App Usage". The default for this flag is False and has to be set to True.

Even though Windows Server 2012 is a 64 bit operating system, if the 32-bit version of OLEDB component is being used, then the 32-bit version of CA IDMS Server needs to be installed and used as well.

There is also a 64-bit version of OLEDB.  Another alternative would be to install that version and run it with the 64-bit version of the CA IDMS ODBC Driver.

There is no difference (insofar as CA IDMS is concerned) with respect to which version of the IDMS ODBC Driver is being used. They're both on the same code base, and are always PTF'd together. There is also no performance differential to speak of between the 32-bit and 64-bit IDMS ODBC drivers.

 

Additional Information:

More details on Connecting directly to a CA IDMS Mainframe using explicit commands can be found in the CA IDMS r17.0 Server User Guide. Two sections contain information that may be particularly relevant:

 

Chapter 5: Configuring the Client on Windows