.net 如何修复连接到SQL Server的错误:SSL提供程序,错误:0 -收到的消息意外或格式错误

f8rj6qna  于 2023-04-22  发布在  .NET
关注(0)|答案(8)|浏览(236)

当使用Visual Studio 2012(或2013)从我的本地开发盒连接到SQL Server 2008 R2 SP1时,我收到以下消息:
已成功与服务器建立连接,但在登录过程中发生错误。(提供程序:SSL提供程序,错误:0 -收到的消息是意外的或格式不正确。)
我的.Net framework本地版本是4.5.50938
我的同事也遇到了同样的问题。我也相信我在重新安装PC之前遇到了这个问题,当时我安装了SSMS 2012,因为它也依赖于.Net Framework 4,而不是像SSMS 2008 R2那样的.Net v2,它工作得很好。这也是有道理的,Visual Studio中的内部数据工具依赖于.Net 4。
这个问题并不总是存在,我相信它是在我第一次安装Visual Studio 2013时引入的-然后在重新安装后再次出现,最有可能是在更新.Net框架之后。
在我看来,这个问题与此版本的.Net framework中的System.Data有关,当连接到SQLServer 2008 R2 SP1时。
我该如何解决这个问题?是否有任何已知的修复,更新等?
很遗憾,目前无法更新SQL Server 2008 R2 SP1。
我也搜索了解决方案,但到目前为止还没有找到任何可用的解决方案。这里有几个链接到其他类似问题的帖子:
http://social.msdn.microsoft.com/Forums/en-US/ea2c470f-14ba-4864-8a39-1396f4e361e8/sqlconnection-now-failing-exception-when-connecting-to-remote-instance?forum=sqldataaccess
http://www.sqlservercentral.com/Forums/Topic1529609-2799-1.aspx

798qvoo8

798qvoo81#

您只能按照Microsoft的指示使用以下选项:

  • 卸载违规LSP或BSP(即Sophos Antivirus)
  • 卸载.NET Framework 4.5.1(因此,VS 2013将无法工作)
  • 安装.NET Framework 4.5.2

参考:http://support.microsoft.com/kb/2915689

a11xaf1n

a11xaf1n2#

经过长时间的努力搜索,我找到了一个解决方案,无需重新安装.NET Framework 4.5.1。您可以执行以下操作:
在命令行模式下,使用管理员权限执行以下命令(没有尝试过没有管理员权限,也可以工作)

netsh winsock reset

然后重新启动计算机。这就像魔术一样修复了它,您可以保留.NET Framework 4.5.1

ugmeyewa

ugmeyewa3#

对我来说,解决方案是从连接字符串中删除它

Encrypt=True;TrustServerCertificate=False;

没有它,它工作,但显然没有加密。

83qze16e

83qze16e4#

1.卸载.Net Framework 4.5.1
1.卸载并重新安装Visual Studio 2012/2013(修复不起作用)
.Net 4.5.1似乎没有解决这个问题。卸载它会破坏我自己的VS 2012和我的同事的VS 2013-但VS之后,一切似乎都正常工作。我愿意打赌,如果我再次安装SQL Server Management Studio 2012,它也会再次对SQL Server 2008 SP1安装起作用。
其他人在这个帖子中报告了相同的修复

mefy6pfw

mefy6pfw5#

作为一种变通方法,我只是卸载了.NET Framework 4.5.1并安装了.NET Framework 4.5。然后一切正常!
供您参考,此错误已报告here

zbdgwd5y

zbdgwd5y6#

我已经安装了VS 2013,当然不想回到以前的版本。
根据Frank Liao的回答,我所要做的就是安装.NET 4.5.2。我不需要卸载任何东西。
只要从Frank Liao的帖子中获取Web安装程序并运行它。
谢谢弗兰克!

pbgvytdp

pbgvytdp7#

我尝试了netsh winsock reset从命令行参数。它是工作的,截至目前。

qpgpyjmq

qpgpyjmq8#

我使用的是mssql management studio 2019。我只是点击了选项〉〉连接属性〉加密连接(取消选中),它就工作了

相关问题