cancel
Showing results for 
Search instead for 
Did you mean: 

Protocol specific error code(s): "78", "*", "*". SQLSTATE=08001

Former Member
0 Kudos

Hi We have changed our gateway in our central instance. Since then We are getting errors when trying to access the Db from SAP. We are able to access the DB from other app servers. Please see the following error

ERRORMESSAGE: Error -30081 in dmdb6rd1.c(1688):

SQL30081N A communication error has been detected. Communication

protocol being used: "TCP/IP". Communication API being used:

"SOCKETS". Location where the error was detected: "192.168.64.131".

Communication function detecting the error: "connect". Protocol

specific error code(s): "78", "", "". SQLSTATE=08001

External program terminated with exit code 30

Please reply ASAP.

thank you,

Irshad Mohammed

Accepted Solutions (0)

Answers (2)

Answers (2)

former_member640873
Active Participant
0 Kudos

Hi Irshad,

Perhaps a firewall or or the TCP/IP timeout settings on the AIX App server are set too strict for the AIX DB server to respond in time. The default value for the AIX timeout is 2 hours. Your can check with the command and look for keepidle:

no - a grep keep

Some customers change it to a shorter ping time (e.g. 5 minutes) and this keep the connection alive. You can change by running:

no -p -o tcp_keepidle=600

This will effectively send our a ping packet after 5 minutes of idle time on a port. This will pehaps satisfy a firewall timer if one is

place.

Regards,

Former Member
0 Kudos

If <protocol> = TCP/IP, <function> = connect, <rc1> =

ETIMEDOUT/WSAETIMEDOUT, AIX (78), Windows (10060), linux

(145), HP (238), attempt to connect timed out before

a connection was made. Possible causes:

- An incorrect hostname or IP address was cataloged in the

hostname field of the node directory on the client and/or

gateway.

- The network is slow, or the server might be too busy to

respond to the connect request within a reasonable amount

of time, you might need to adjust your system TCP connect

timeout value and/or the DB2TCP_CLIENT_CONTIMEOUT

value.

The error is being returned from the TCPIP on the machine the connection

came from. The code 78 means that the connection timed out and is an OS error (anything under 100 is an OS error). This means that the TCPIP

could not reach the machine that it attempted to connect to within

TCPIP's timeout interval.

This error is occurring in TCPIP, it is not under DB2's control. DB2

captures this error as a SQL300081N. Can you discuss this with your

network administrators to see why the connection is being lost?

If you go to any Unix box and go to /usr/include and vi errno.h and

search for 78