Windows10 SQL Server 2017经典ASP连接-SSL安全错误

问题描述 投票:1回答:1

我正在使用Windows10和SQL Server 2017建立新机器,并且很难使我的旧ASP应用程序正确连接。

连接字符串看起来像这样:

"driver={SQL Server};uid=USERNAME;pwd=PASSWORD;server=LocalServer;Database=LocalDB;"

我可以使用这样的连接字符串进行连接:

"Provider=SQLNCLI11;Server=LocalServer;Database=LocalDB;Integrated Security=SSPI;DataTypeCompatibility=80;MARS Connection=True;"

...但是,这会导致现有代码的方式以及它与存储的Procs的交互方式产生很多错误,因此我试图使第一个连接字符串起作用。

该字符串的错误是这样的:

ODBC驱动程序的Microsoft OLE DB提供程序错误'80004005'

[[Microsoft] [ODBC SQL Server驱动程序] [共享内存] SSL安全错误

/ Codeshare / ServerSide / conx_current.asp,第8行

该代码如下:

dim sqlconn
set sqlconn = server.CreateObject("ADODB.CONNECTION")
dim cn : cn = getConx("current")
sqlconn.open cn

...其中getConx(“ current”)仅从上方返回连接字符串

如果有帮助,如果尝试使用SQL Server或SQL Server Native Client 11.0驱动程序创建ODBC连接,则会收到相同的错误消息。

TIA

sql-server asp-classic
1个回答
1
投票

SQL Sever之类的声音已经过强化,只允许使用更安全的协议(例如TLS 1.2和相关的强密码)。问题在于,较早的提供商不支持这些最新协议。 SQLNCLI11可以,但是您发现ADO的行为方式不同,从而破坏了ASP网站。

在大多数情况下,我发现将SET NOCOUNT ON添加到SP和SQL批处理的顶部可以恢复90%的功能。然后是寻找其他问题的案例。

另一种选择是通过重新启用较旧的协议(例如SSL3)并重新启用最小的安全密码来回退服务器的强化

搜索“ TLS 1.2和SQLNCLI11”

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.