Why connection is closed with SQL State = 08S01 and how to resolve the issue in TIBCO Data Virtualization ?

Why connection is closed with SQL State = 08S01 and how to resolve the issue in TIBCO Data Virtualization ?

book

Article ID: KB0070803

calendar_today

Updated On:

Products Versions
TIBCO Data Virtualization All Supported Version

Description

Some users may face a "Connection reset by peer" or "The connection is closed" followed by SQL State = 08S01 error which leads to the closure of the connection before completing the process when the user makes use of ADO.NET Driver and how it can get resolved by using Microsoft SQL JDBC Driver. 

Issue/Introduction

This article will provide you information about how to resolve the SQL State = 08S01 issue using JDBC Driver.

Environment

All supported Operating Sytems

Resolution

Below are the information on why this issue occurs and how one can solve this issue. 

The major reason why this error occurs is there is the communication link between the driver and the data source to which the driver was connected failed before the function completed processing. In this scenario, try using the latest JDBC JAR for Microsoft SQL Server. 

If this does not help to resolve the issue so the error is occurring because of the following reason:

(1)  A network device closed the connection. This could mean that the device injected an RST packet into the connection stream between TIBCO Data Virtualization and SQL server to signal them that it needs them to close the connection.
(2)  The network dropped some packets.
(3)  A TCP/IP OS level setting (keep-alive/socket-related) closed the connection.
(4)  The connection was closed by SQL Server, or by TIBCO Data Virtualization. Specifically, either TIBCO Data Virtualization or SQL Server could send a specific TCP IP packet type called a RST packet across the connection. When the receiver gets the packet, it will respond by closing the connection.
(5) Closure by an intermediate network device.

In some scenarios, user can try setting the below configuration parameters as mentioned:

(1) Set the Enable Flood Optimization setting to "false".
(2) Append the "requestTimeout" and "sessionTimeout" parameters to the JDBC connection string to explicitly set the timeout on the client side.
example:  jdbc:compositesw:dbapi@localhost:9501domain=composite&dataSource=examples&requestTimeout=3000&sessionTimeout=3000
(3) Ensure that Studio >> Administration >> Configuration >> Server >> Client Drivers >> Session >> "Ignore Client Drivers Session Timeout" is set to "true".
(4) Type "timeout" into the Find box under Studio >> Administration >> Configuration. The timeout configuration settings for Requests and Sessions will appear. Review the following settings to ensure that they are at the default value of 0 (which means there is no timeout) with the exception of session timeout which has a default of 1800:
      - Authentication and HandShake Timeout Window : 0
      - Default Request Timeout : 0
      - Default Session Timeout : 0
      - Session Timeout : 1800
      - Default Execution Timeout : 0

If the above recommendations do not resolve the issue, it means that the timeout is not occurring with the TICO Data Virtualization server, but is occurring externally i.e. one of the following is occurring:

(i)  This is client-specific ==> the client application is closing the connection.
(ii) The back-end database server is closing the connection.
(iii) There is a Firewall or a Load Balancer sitting in between your client machine and the TDV server machine and it is terminating the connection.

Note: If the above suggestions don't help then the user needs to involve their Networking Team or directly reach out to the Microsoft team as this is a third-party JDBC driver and not shipped with the TIBCO Data Virtualization product.

Additional Information

Links to the online articles:
https://learn.microsoft.com/en-us/sql/odbc/reference/syntax/sqlnativesql-function?view=sql-server-ver16&redirectedfrom=MSDN
https://support.esri.com/en-us/knowledge-base/error-failure-to-access-the-dbms-server-08s01microsofts-000019181
https://www.ibm.com/support/pages/communication-link-failure-when-checking-out-schema
https://stackoverflow.com/questions/16459990/sql-error-0-sqlstate-08s01-communications-link-failure