Support for TLS 1.2

Discussion of open issues, suggestions and bugs regarding usage of dbExpress drivers for SQL Server in Delphi and C++Builder
Post Reply
rp47
Posts: 3
Joined: Mon 23 Jul 2018 20:18

Support for TLS 1.2

Post by rp47 » Mon 23 Jul 2018 20:32

According to this topic, your dbExpress driver for SQL Server (dbexpsda.dll) does not support Microsoft's MSOLEDBSQL driver, only SQLOLEDB and SQL Native Client. I have a customer that is making a TLS 1.2 only system, so I need TLS 1.2 support. Do you have any plans on supporting MSOLEDBSQL at all? Otherwise, since SQLOLEDB is not an option for TLS 1.2, will configuring dbexpsda.dll for SQL Native Client 11 work for TLS 1.2?

I'm using C++Builder 6 w/ Update 4. When I try your latest DLL, my app freezes when connecting to SQL Server. In your Whats New history, there are entries that say "Rad Studio XE3 Update 1 is now required" and "RAD Studio XE5 Update 2 is now required", but your Compatibilty page says C++Builder 6 is supported. So which is it? Can I use your latest DLL in C++Builder 6, or do I have to upgrade to XE5.2+ to use it?

azyk
Devart Team
Posts: 1057
Joined: Fri 11 Apr 2014 11:47
Location: Alpha Centauri A

Re: Support for TLS 1.2

Post by azyk » Tue 24 Jul 2018 09:39

We do not plan to support MSOLEDBSQL provider. To use SQL Native Client 11 set the TSQLConnection->VendorLib to "sqlncli11" value. In the driver there is no separate option to specify a value for TLS protocol. Please refer to MSDN about using TLS 1.2.

Please, compose a small test sample to demonstrate the application freezes and send it to us. To send the project, use the contact form at our site: https://www.devart.com/company/contactform.html .

C++Builder 6 with our latest driver and SQL Native Client 2012 supports TLS 1.2.

The up-to-date information about compatibility can be found by the link:
https://www.devart.com/dbx/sqlserver/compatibility.html

rp47
Posts: 3
Joined: Mon 23 Jul 2018 20:18

Re: Support for TLS 1.2

Post by rp47 » Thu 02 Aug 2018 01:42

We are having an issue where the latest driver (dbexpsda40.dll 4.80.0.29) sometimes crashes our software when run as a normal desktop app ("Abnormal Program Termination"), and hangs when run as a Windows service (like its waiting for user input, or something). Rolling back to our old driver (dbexpsda.dll 4.25.0.8) works fine, but then we don't get TLS 1.2 even when setting the VendorLib to sqlncli11.dll (which, incidentally, gets loaded anyway when the VendorLib is set to sqloledb.dll instead).

We really need a DBX driver for SQLServer that works in C++Builder 6 (upgrading is not an option), doesn't crash/hang when used in a Windows service, and can utilize TLS 1.2 (whatever it takes to make that work).

Is there any way to reset the DBX driver's trial period? I installed a trial version of the driver a LONG time ago, and apparently its expiration is still lingering on my box as I can't use the latest driver version. I tried simply deleting the driver's ASProtect entry from the Registry, but it just gets recreated and the DLL still fails to load with an "expired" popup. So I can't reproduce any issues with the new driver on my dev box.

azyk
Devart Team
Posts: 1057
Joined: Fri 11 Apr 2014 11:47
Location: Alpha Centauri A

Re: Support for TLS 1.2

Post by azyk » Thu 02 Aug 2018 06:40

dbExpress driver for SQL Server 4.80.29 does not support SQL Native Client 11 because this provider version was released later than the driver version.

To use SQL Native Client 11 (value 'sqlncli11.dll') for connection, please update dbExpress driver for SQL Server to the latest version 7.4.6.

You can download trial driver 7.4.6 by the following link at our site:
https://www.devart.com/dbx/sqlserver/download.html

To avoid a trial message open or create and open the registry key [HKEY_LOCAL_MACHINE\SOFTWARE\Devart\dbExpress\SQL Server], add DWORD value to the ShowTrialMessage registry and set 0 value to it.

Note: for 64-bit client machine a register key value will be [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Devart\dbExpress\SQL Server] .

rp47
Posts: 3
Joined: Mon 23 Jul 2018 20:18

Re: Support for TLS 1.2

Post by rp47 » Fri 03 Aug 2018 02:17

azyk wrote:
Thu 02 Aug 2018 06:40
dbExpress driver for SQL Server 4.80.29 does not support SQL Native Client 11 because this provider version was released later than the driver version.

To use SQL Native Client 11 (value 'sqlncli11.dll') for connection, please update dbExpress driver for SQL Server to the latest version 7.4.6.
Sorry, my bad. I still had 4.80.29 on my dev box. The technician who has been experiencing the crashes/hangs on his test box is using 7.4.6. I have now installed 7.4.6 on my dev box.

I tracked down the cause of the "Abnormal Program Termination" error. It was because we were doing tests with "dbexpsda40.dll", which doesn't work with C++Builder 6. Using "dbexpsda.dll" instead, no more crashing, and we were eventually able to connect to SQL Server using sqlncli11.dll and TLS 1.2.
azyk wrote:
Thu 02 Aug 2018 06:40
To avoid a trial message open or create and open the registry key [HKEY_LOCAL_MACHINE\SOFTWARE\Devart\dbExpress\SQL Server], add DWORD value to the ShowTrialMessage registry and set 0 value to it.
Thanks, that worked.

azyk
Devart Team
Posts: 1057
Joined: Fri 11 Apr 2014 11:47
Location: Alpha Centauri A

Re: Support for TLS 1.2

Post by azyk » Fri 03 Aug 2018 07:14

It's good that the issue is resolved. If you have any questions, please, contact us.

Post Reply