- November 4, 2019 at 5:41 pm #23846
We are having intermittent timeouts on connections to our source locations with messages indicating that a user-specified timeout was exceeded. What is the environment configuration that can be used to extend the timeout beyond the default application setting?November 4, 2019 at 11:24 pm #23847feherpParticipant
Can you please share what is the exact error message you get? We have SQL_PREPARE_TIMEOUT that can be applied to the channel as an /Environment action, the default value is 60 (seconds). The job has to be reinitialized with “Scripts and Jobs” after you add the action.November 5, 2019 at 4:46 pm #23848
We get two different kinds of error, one before connecting and one during a connection.
Unable to connect to DB2 for i system ‘*******’ named database ‘*******’.
DBMS error [Communication link failure. comm rc=10060 – CWBCO1048 – A firewall blockage or time-out occurred trying to connect to the IBM i].
DBMS error number .
SQL State [08S01].
DBMS version [unknown]
DBMS error [Communication link failure. comm rc=8413 – CWBCO1054 – A user-specified time-out occurred while sending or receiving data].
DBMS error number .
SQL State [08S01].
DBMS version [*******]
Last query [‘*******’]
The errors are intermittent, so we do not expect firewall rules to be a concern.November 7, 2019 at 1:11 pm #23859
We have tried to use an environment action to set HVR_TCP_KEEPALIVE to 30 and to set HVR_ODBC_CONNECT_STRING_ADD to “QUERYTIMEOUT=0” without any success. We have not yet tried to use SQL_PREPARE_TIMEOUT. What is the purpose of that setting?November 7, 2019 at 2:16 pm #23860MarkKeymaster
F_JD21AE is an error when HVR tries to establish a connection to the database but doesn’t succeed with the default (or specified) timeout period. The connection to HVR that wants to connect to DB2i succeeds (which may be an agent running on a different machine), but not the actual connection to the database.
F_JD22D3 is an error when HVR submitted some SQL, is expecting a result, but doesn’t retrieve the result in the default (or specified) timeout period.
The environment variable HVR_TCP_KEEPALIVE changes the frequency of TCP keep-alive messages sent between HVR installations. This is often useful if there are timeouts on the network causing connections to be terminated if there is otherwise no communication on the wire, for example if a large volume of data was staged and HVR submitted a command to bulk load this into the destination database and we are simply waiting for the bulk load to return whether data was loaded successfully. It does not appear that in your environment there is an issue like that.
SQL_PREPARE_TIMEOUT defines how much time we allow for a SQL statement to respond after we submitted it. The unit is in seconds, and the default is 60. For the second error HVR reports it could be that setting this variable to a higher value will help, but one would think your database should have responded within 60 seconds.
HVR_ODBC_CONNECT_STRING_ADD is useful to provide extra instructions to the ODBC connection that may be driver-specific.
Hope this clarifies.
January 23, 2020 at 9:41 am #24640Dhaneshwari.KumariParticipant
- This reply was modified 4 months, 3 weeks ago by Mark.
I am also facing same issue “F_JD22D3 DBMS error [Communication link failure. comm rc=8413 – CWBCO1054 – A user-specified time-out occurred while sending or receiving data]. DBMS error number . SQL State [08S01]. DBMS version [*******] Last query [‘*******’]”.
I have tried using SQL_PREPARE_TIMEOUT=30000 as environment variable. In general very high value. But, no luck.
Can you help to know , what is value for this HVR_ODBC_CONNECT_STRING_ADD?
How can we add SQL_PREPARE_TIMEOUT to it?
What is purpose of QUERYTIMEOUT ? Does this also need to be add in HVR_ODBC_CONNECT_STRING_ADD? If yes, what is recommended value for it?
- You must be logged in to reply to this topic.