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

Sql server 从服务器上删除TLS 1.0后,经典ASP无法连接到SQL数据库,sql-server,iis,asp-classic,odbc,dsn,Sql Server,Iis,Asp Classic,Odbc,Dsn,我有一个连接到SQL Server的IIS web应用程序,如下所示: set objConn = Server.CreateObject("ADODB.Connection") objConn.Open("DRIVER={SQL Server};SERVER=servername;DATABASE=dbname;UID=username;PASSWORD=pwd) objConn.Open "DSNname" 最近我开始出现以下错误: [Microsoft][ODBC SQL Server

我有一个连接到SQL Server的IIS web应用程序,如下所示:

set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open("DRIVER={SQL Server};SERVER=servername;DATABASE=dbname;UID=username;PASSWORD=pwd)
objConn.Open "DSNname"
最近我开始出现以下错误:

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

当我问我的服务器管理员这意味着什么时,他说他们最近从我的web应用程序所装载的IIS服务器上删除了TLS1.0。他确保在web服务器上安装了新的SQL ODBC 13驱动程序,但没有任何帮助

尽管web应用程序以前从未有过DSN,但我们使用ODBC 13驱动程序为其创建了一个DSN。当我尝试这样连接时:

set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open("DRIVER={SQL Server};SERVER=servername;DATABASE=dbname;UID=username;PASSWORD=pwd)
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驱动程序管理器]未找到数据源名称,也未指定默认驱动程序

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

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


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

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

这花了好几天时间,我们让网站在整个过程中上下波动

我写了一篇博文,为其他团队成员记录了这个过程。我希望有帮助。

以下是概述的步骤:

  • 获取当前TLS配置
  • 使用IISCrypto工具,我们更新了服务器上的注册表文件
  • 运行以证明TLS 1.0和1.1已删除
  • 将ODBC更新至最新版本支持TLS 1.2[Microsoft®ODBC Driver 13.1 for SQL Server]
  • 更新连接字符串以使用当前ODBC SQL 13驱动程序

  • 您可以尝试oledb连接字符串,而不是odbc连接字符串。看看这个和这个。显然,在第二个示例中,您需要使用
    Provider=SQLNCLI13
    而不是
    SQLNCLI11