Skip to Content

VB6 Legacy App Error 20997 After SQL Server 2012 update

Mar 04 at 06:07 AM


avatar image
Former Member

Supporting an old vb6 application. We've had some issues with crystal reports connecting to SQL 2012, but worked for about 95% of users. A recent SSL 2012 SP 3 security update was installed, and now we are constantly getting 20997 error code. A few client machines work, most do not. Please advise. It looks like all of the Crystal Report dlls are very old. Are there updated versions of the dlls that would remain compatible with old reports (believe the original reports were created in CR Version 8). I am in the process of upgrading the entire system to .NET, but it's a huge undertaking. I have to keep them running until I get the upgrade completed.

10 |10000 characters needed characters left characters exceeded
* Please Login or Register to Answer, Follow or Comment.

2 Answers

Janos Nagy
Mar 05 at 07:34 AM


Maybe the root cause of this issue related to the connection type / connection string used in the code. As far as i know, the security upgrade of SSL 2012 Sp3 was bringing the TLS 1.2 for SQL 2012 and 2014, and it had some problems described under here.

I would investigate the connection from different clients to the database. If ODBC connection is used, than you may test the connection outside from Crystal Reports, with another application (such as Excel or Access) or use the application called to test the connection.

Best Regards,


10 |10000 characters needed characters left characters exceeded
Don Williams
Mar 05 at 09:48 PM

The only SQL Clients that would support TLS 1.2 would be SQL Native 10 or 11. Old Legacy applications would not support those newer clients.

For those few that do work I suspect they are not using TLS 1.2.

Time to upgrade to be able to support TLS 1.2. Search for this KBA using Google:

2269180 - Disabling TLS 1.0 may cause Crystal Reports Designer and .NET application to fail to connect to your MS SQL Server Database 2012/2014


10 |10000 characters needed characters left characters exceeded