An existing connection was forcibly closed by the remote host

Discussion of open issues, suggestions and bugs regarding ADO.NET provider for Cloud Applications
Post Reply
masing1024
Posts: 1
Joined: Thu 06 Dec 2018 15:54

An existing connection was forcibly closed by the remote host

Post by masing1024 » Thu 06 Dec 2018 16:28

I am trying to get a 70G table from Salesforce to Teradata but after 9 hours of loading the data it fails. I am getting the following error:

[Devart Salesforce Source] Error: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host.
[Devart Salesforce Source [596]] Error: Devart.Data.Salesforce.SalesforceException (0x80004005): Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host. ---> System.IO.IOException: Unable to read data from the transport connection: An existing connection was forcibly closed by the remote host. ---> System.Net.Sockets.SocketException: An existing connection was forcibly closed by the remote host


Is there a setting somewhere that I can set to mitigate this error for happening every time or any suggestions that I can use to get this data over? I need some answers!

Shalex
Site Admin
Posts: 8493
Joined: Thu 14 Aug 2008 12:44

Re: An existing connection was forcibly closed by the remote host

Post by Shalex » Tue 11 Dec 2018 13:08

The error says that a session was closed by Salesforce.

1. Were any records inserted into your target destination Teradata during 9 hours?

2. We suggest you to try a workaround with running a query which retrieves smaller amount of records, i.e. pass the full result set in several package runs. For example: you can use SQL-92 query with a WHERE clause (WHERE LastModifiedDate > '<@User::YOUR_PARAMETER>') to compare with the date of the last synchronization via date parameter. Defining user variables: http://forums.devart.com/viewtopic.php?f=60&t=34065.

Note that if SQL-92 could not be translated directly to SOQL then provider retrieves all records from the table (SOQL: "SELECT * FROM Account") and then applies WHERE clause in a local cache. This case would not help for your scenario. So you should rewrite SQL-92 to get SOQL with the WHERE clause. We recommend you to control actual SOQL sent to Salesforce by the provider via Fiddler (http://www.telerik.com/fiddler).

Does this information help?

Post Reply