从服务器中删除TLS 1.0后,经典ASP无法连接到SQL数据库

时间:2017-11-09 14:16:05

标签: sql-server iis asp-classic odbc dsn

我有一个IIS Web应用程序连接到这样的SQL Server:

set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open("DRIVER={SQL Server};SERVER=servername;DATABASE=dbname;UID=username;PASSWORD=pwd)

最近我开始收到以下错误:

  

[Microsoft] [ODBC SQL Server驱动程序] [DBNETLIB] SSL安全错误

当我问我的服务器管理员这是什么意思时,他说他们最近从我的Web应用程序安装的IIS服务器上删除了TLS 1.0。他确保在Web服务器上安装了新的SQL ODBC 13驱动程序,但它没有帮助。

虽然之前Web应用程序从未有过DSN,但我们使用ODBC 13驱动程序为它创建了一个。当我尝试这样连接时:

objConn.Open "DSNname"

我收到以下错误:

  

[Microsoft] [ODBC驱动程序管理器]指定的DSN包含驱动程序和应用程序之间的体系结构不匹配

我抬头ConnectionStrings.com查看是否有指定不同驱动程序的方法。我试过这个:

objConn.Open("DRIVER={SQL Server Native Client 13.0};SERVER=servername;DATABASE=dbname;UID=username;PASSWORD=pwd)

这是产生的错误消息:

  

[Microsoft] [ODBC驱动程序管理器]未找到数据源名称且未指定默认驱动程序

不知道还能做什么。有什么想法吗?

2 个答案:

答案 0 :(得分:0)

  
    

指定的DSN包含驱动程序和应用程序之间的体系结构不匹配

  

您可以创建32位DSN或64位DSN。你需要创建一个匹配程序的位数。可能是32位。

答案 1 :(得分:0)

我们必须更新运行3个经典ASP网站的3台服务器。主要原因是我们需要实施Twillio API SMS消息传递,并要求禁用/删除TLS 1.0和TLS 1.1。

花了几天的时间,我们在整个过程中使网站上下波动。

我写了一篇博客文章来记录其他团队成员的流程。希望对您有所帮助。 https://dhali.com/programming/tls-1-2-with-classic-asp/

以下是概述的步骤:

  1. https://www.ssllabs.com/ssltest获取当前的TLS配置
  2. 使用IISCrypto工具,我们更新了服务器上的注册表文件
  3. 运行https://www.ssllabs.com/ssltest以证明已删除TLS 1.0和1.1
  4. 将ODBC更新到最新版本,支持TLS 1.2 [用于SQL Server的Microsoft®ODBC驱动程序13.1]
  5. 更新连接字符串以使用当前的ODBC SQL 13驱动程序

ODBC to the lastest version

Updated connection string