使用Visual Studio 2012(或2013)从我的本地开发框连接到SQL Server 2008R2 SP1时,我收到以下消息:
已成功与服务器建立连接,但随后成功建立了连接 登录过程中发生错误。 (提供者:SSL提供商, 错误:0 - 收到的消息是意外的或格式错误。)
我在本地的.Net框架版本是4.5.50938
我的同事有同样的问题。我还认为我在重新安装电脑之前遇到了问题,当我安装SSMS 2012时,因为它也依赖于.Net框架4,而不是.Net v2作为SSMS2008R2,它工作正常。也有意义的是,visual studio中的内部数据工具依赖于.Net 4。
问题并非总是存在,我相信它是在我第一次安装Visual Studio 2013时引入的 - 然后在重新安装后再次引入,很可能是在更新.Net框架之后。
在与SQL Server 2008R2 SP1连接时,我觉得这个问题与.Net框架版本中的System.Data有关。
我该如何解决这个问题?是否有任何已知的修复,更新等?
不幸的是,目前还不能更新SQL Server 2008R2SP1。
我还搜索了解决方案,但到目前为止还没有找到任何可用的解决方案。以下是其他类似问题的帖子的几个链接:
http://www.sqlservercentral.com/Forums/Topic1529609-2799-1.aspx
答案 0 :(得分:10)
您只能按照Microsoft的指示使用以下选项:
答案 1 :(得分:8)
经过长时间的艰苦搜索,我找到了一个解决方案,无需重新安装 .NET framework 4.5.1。您可以执行以下操作:
在命令行模式下执行以下命令,具有管理权限(尝试没有管理员权限,也可以工作)
netsh winsock reset
然后重新启动计算机。这就像魔术一样修复它,你可以保留.NET framework 4.5.1
答案 2 :(得分:2)
对于.Net 4.5.1似乎没有解决方法。卸载它打破VS 2012为我自己和VS2013为我的同事 - 但在VS之后,一切似乎都有效。我愿意打赌,如果我再次安装SQL Server Management Studio 2012,那么对于SQL Server 2008SP1的安装,我们也会再次使用它。
其他人在this thread
中报告了同样的问题答案 3 :(得分:1)
作为一种解决方法,我刚刚卸载了.NET framework 4.5.1并安装了.NET framework 4.5。一切正常!
有关您的信息,已报告错误here
答案 4 :(得分:0)
我安装了VS 2013,当然不想回到以前的版本。
根据Frank Liao的回答,我要做的就是安装.NET 4.5.2。 我没有卸载任何东西。
从Frank Liao的帖子中获取Web安装程序并运行它。
谢谢弗兰克!
答案 5 :(得分:0)
我从命令行参数尝试了netsh winsock reset
。它现在已经发挥作用了。
答案 6 :(得分:0)
对我来说,解决方案是将其从连接字符串中删除
Encrypt=True;TrustServerCertificate=False;
没有它,它可以工作,但显然没有加密。