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.com 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.com 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.com 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.
The Salesforce.com ODBC driver DSN configuration dialog box allows the connection to Salesforce.com 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.com 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.
Although we were running a query against a linked Salesforce.com 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.com 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 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  [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.com to the notation that the Windows firewall understood.)
Oracle is a registered trademark of Oracle Corporation and/or its affiliates.