Feedback
Did this article resolve your question/issue?

   

Article

SQL Server driver unable to load trust store when trying to connect with SSL

Information

 
TitleSQL Server driver unable to load trust store when trying to connect with SSL
URL Name000035243
Article Number000124598
EnvironmentProduct: Connect/Connect64 for ODBC SQL Server Wire Protocol Driver
Platform: All supported platforms
Version: All supported versions
Database: SQL Server
Application: N/A
Question/Problem Description
When trying to connect to a SQL Server database using an SSL connection:
  • if ValidateServerCertificate is set to 0 the connection succeeds,
  • if ValidateServerCertificate is set to 1, the connection fails with the below error
Steps to Reproduce
Clarifying Information
Error Message[DataDirect][ODBC SQL Server Wire Protocol driver]Cannot load trust store.
Defect Number
Enhancement Number
Cause
The driver is unable to load the truststore file specified in the connection attributes either due to:
  1. permission issues where the folder of the User under which the SQL server service is running isn't accessible with their credentials
  2. incorrect/unsupported truststore format.
Resolution
1.   Verify the driver/user account running the application has permissions to access the trust store file by setting the access level on the file to 777, and setting the file owner  to 'root'.
At best, move the truststore file to /tmp folder on Unix and set the file permissions to 777.
2.  Remove the HostNameInCertificate parameter from the data source in the odbc.ini file.
3.  Verify the steps to create the truststore file were correct, and recreate the file.
Workaround
Notes
References to other documentation:
Stack Overflow: Cannot initialize the data source object of OLE DB provider “MSDASQL” for linked server “(null)”
https://stackoverflow.com/questions/1362108/cannot-initialize-the-data-source-object-of-ole-db-provider-msdasql-for-linked  
Last Modified Date1/13/2020 5:31 PM
Files
Disclaimer The origins of the information on this site may be internal or external to Progress Software Corporation (“Progress”). Progress Software Corporation makes all reasonable efforts to verify this information. However, the information provided is for your information only. Progress Software Corporation makes no explicit or implied claims to the validity of this information.

Any sample code provided on this site is not supported under any Progress support program or service. The sample code is provided on an "AS IS" basis. Progress makes no warranties, express or implied, and disclaims all implied warranties including, without limitation, the implied warranties of merchantability or of fitness for a particular purpose. The entire risk arising out of the use or performance of the sample code is borne by the user. In no event shall Progress, its employees, or anyone else involved in the creation, production, or delivery of the code be liable for any damages whatsoever (including, without limitation, damages for loss of business profits, business interruption, loss of business information, or other pecuniary loss) arising out of the use of or inability to use the sample code, even if Progress has been advised of the possibility of such damages.