【问题标题】:Classic ASP cannot connect to SQL database after TLS 1.0 removed from server从服务器中删除 TLS 1.0 后,经典 ASP 无法连接到 SQL 数据库
【发布时间】:2017-11-09 14:16:05
【问题描述】:

我有一个 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 驱动程序,但没有帮助。

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

objConn.Open "DSNname"

我收到以下错误:

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

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

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

这是产生的错误消息:

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

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

【问题讨论】:

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


【解决方案1】:

我们必须更新运行多个经典 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 [Microsoft® ODBC Driver 13.1 for SQL Server]
  5. 更新连接字符串以使用当前的 ODBC SQL 13 驱动程序

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-05-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-19
      相关资源
      最近更新 更多