Easysoft ODBC-Salesforce Driver

I'm getting "connect failed: OS Error: 'No error'". How do I configure my firewall for use with the Salesforce ODBC Driver?

Article:
01081
Last Reviewed:
29th January 2024
Revision:
1

You need to configure your firewall to allow the application that interacts with the Salesforce ODBC Driver to:

A symptom that you haven't done this is:

"connect failed: OS Error: 'No error'"

when you attempt to test or connect to your Salesforce ODBC driver data source.

Assuming that you want to configure your firewall to only allow your ODBC application to connect to port 443 / the whitelisted Salesforce IP addresses, you need to find out the executable name of this application. Note that the ODBC application is not necessarily the same as the client application that is the ultimate target for your Salesforce data. For example, Microsoft Excel launches another application, Microsoft Query, to connect and retrieve data from an ODBC data source.

To illustrate the process, here are two Windows examples. Our starting point is an active Windows firewall that has been configured to block all outgoing connections.

Example: Configuring the Windows Firewall to allow us to test the ODBC connection to Salesforce

The Salesforce ODBC driver DSN configuration dialog box allows the connection to Salesforce to be tested. For the test to work through a firewall, a firewall rule needs to allow the ODBC Data Source Administrator to connect to either port 443 or the Salesforce IP address ranges. In the Windows Firewall Management Console, we created a custom outbound rule that allowed drive:\windows\system32\odbcad32.exe (we were using the 64-bit version of this application) to connect to remote port 443.

Example: Configuring the Windows Firewall to allow SQL Server to connect to Salesforce

Although we were running a query against a linked Salesforce server in SQL Server Management Studio, SSMS was not the relevant application for our Windows firewall rule. To find out the SQL Server application that was actually connecting to the Salesforce ODBC driver, we enabled ODBC Driver Manager logging before running our query. (For SQL Server, we recommend that the log file is generated in %WINDIR%\Temp. You may need to restart your instance before SQL Server will generate a log file.)

The log file showed that the SQL Server application that we needed to specify in our firewall rule was sqlservr:

sqlservr        14cc-604	EXIT  SQLDriverConnectW  with return code -1 (SQL_ERROR)
		HDBC                0x00000000003C7510
		HWND                0x0000000000000000
		WCHAR *             0x000007FEE4A78F08 [      -3] "******\ 0"
		SWORD                       -3 
		WCHAR *             0x000007FEE4A78F08 
		SWORD                       -3 
		SWORD *             0x0000000000000000
		UWORD                        0 <SQL_DRIVER_NOPROMPT>
		DIAG [08001] [Easysoft ODBC-SalesForce Driver]OS Error: 'No error' (0) 

In the Windows Firewall Management Console, we created an custom outbound rule that allowed drive:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\MSSQL\Binn\sqlservr.exe to connect to the Salesforce IP address ranges. (We needed to convert the IP address ranges from the Classless Inter-Domain Routing (CIDR) notation provided by Salesforce to the notation that the Windows firewall understood.)

Applies To

Knowledge Base Feedback

* Did this content help you?
* Please select one option based on your first choice:

(* Required Fields)