use*_*erx 8 sql-server connectivity sql-server-2014
由于以 PCI 合规性的名义禁用了 TLS 1.0,我无法使 32 位经典 ASP 应用程序工作。
根据 MS / Stack Exchange 的建议,我已经安装了:
这让我们的 ASP.NET 应用程序/SSMS 运行起来。但是我们使用ADODB.Connection
对象的经典 ASP 应用程序不起作用。
我尝试了一个使用 的连接字符串Provider=SQLNCLI11;
,但这似乎也无济于事。共享内存提供者仍然抱怨管道的另一端没有任何东西。错误信息:
Microsoft SQL Server Native Client 11.0 错误“80004005”
共享内存提供程序:管道的另一端没有进程。
我还尝试将命名管道与连接字符串一起使用Provider=SQLNCLI11;Server=np:\\.\pipe\MSSQL$SQLEXPRESS\sql\query;Database=northwind;Trusted_Connection=Yes;
并收到此错误消息:
Microsoft SQL Server Native Client 11.0 错误“80004005”
命名管道提供者:管道的另一端没有进程。
是否有我应该注意的 ADODB 补丁?我应该考虑以其他方式或类似方式使用命名管道吗?(尽管我对为什么共享内存不起作用感到有些困惑,无论 TLS 设置如何)
评论更新:
Web 服务器和 SQL Server 位于同一台机器上。
它是一个 SQLExpress 命名实例。启用 TLS 1.0 的连接字符串是:
"Driver={SQL Server}; Server=.\SQLExpress; Database=northwind; Trusted_Connection=Yes; Integrated_Security=True;"
Run Code Online (Sandbox Code Playgroud)
我也试过:
"Provider=SQLNCLI11; Server=.\SQLExpress; Database=northwind; Trusted_Connection=Yes;"
Run Code Online (Sandbox Code Playgroud)
一旦 TLS 1.0 被禁用,两者都不起作用。我知道 Trusted_Connection / Integrated_Security 是多余的,但搞乱这些似乎也无济于事。
我已经为 TCP 和命名管道切换了启用、禁用和顺序。上面连接字符串中使用的管道名称直接来自该实例的服务器配置。我还尝试禁用共享内存以确保命名管道正常工作。我还没有尝试过 TCP(好像共享内存因为 TLS 而不起作用,为什么 TCP 会?)共享内存和命名管道都在启用 TLS 1.0 的情况下工作。一旦我翻转注册表项以禁用 TLS 1.0(并重新启动),就会出现上述错误消息。我们可能只是将这台机器置于代理之后。
禁用 TLS 1.0 和 SSL 3.0 后,SQL 服务器服务不会启动
该链接中描述的问题由 CU1 在我上面提出的问题中解决。SQL Server 实例确实以禁用 TLS 1.0 开始(感谢 MS 更新)。基于 .NET 的应用程序与 SQL 实例一起工作得很好(更新到 4.6 后)。此问题特定于经典 ASP(32 位)应用程序。我的理解是本机客户端也由 CU1 修补,因此我对为什么这不起作用感到困惑。
您可能正在尝试使用 32 位旧版驱动程序。
\n\n尝试运行 C:\\Windows\\SysWOW64\\odbcad32.exe 创建一个使用 32 位 SQL Server 驱动程序连接到 SQL Server 数据库的 DSN。首先使用 GUI 测试连接性。
\n\n然后尝试在连接字符串中指定 DSN,如下所示:
\n\nDSN=myDsn;Uid=myUsername;Pwd=;\n
Run Code Online (Sandbox Code Playgroud)\n\n64 位版本位于:\nC:\\Windows\\System32\\odbcad32.exe
\n\nPS 我还没有尝试过这个,但 32 位 SQL Server 的提供程序名称实际上是“SQL Server”。如果您只需将 SQLNCLI11 替换为 SQL Server,那就太好了。这是我用 32 位版本创建的文件 DSN——注意驱动程序...
\n\n[ODBC]\nDRIVER=SQL Server\nUID=sa\nWSID=P13-0000\nAPP=Microsoft\xc2\xae Windows\xc2\xae Operating System\nSERVER=mcdba1\n
Run Code Online (Sandbox Code Playgroud)\n
归档时间: |
|
查看次数: |
8265 次 |
最近记录: |