我与运行在Windows Server 2012上的SQL Server 2012实例有连接问题。我安装了.NET 4.5 Windows窗体应用程序运行Windows 7我得到的错误客户端机器是这样的:连接到SQL Server 2012的.NET 4.5窗体应用程序失败:SSL提供程序,错误:0
A connection was successfully established with the server, but then an error
occurred during the pre-login handshake. (provider: SSL Provider, error: 0 -
The wait operation timed out.)
我的连接字符串看起来是这样的:
server=SERVERNAME;database=DATABASENAME;User Id=someuser;password=somepassword;Timeout=60;app=LabelMaker
使用QueryExpress 我试图连接到SQL Server的客户机和成功了!如果有任何帮助,我的应用程序是64位的。我检查了我在SQL Server中可以想到的所有设置。协议上没有强制加密(共享内存和tcp/ip),域防火墙在服务器上打开。我已经尝试过各种连接字符串和各种未听到的关闭参数,总是相同的结果,失败。
我很困惑它为什么与QueryExpress一起工作?我的应用程序在连接到另一台机器上的SQL SERVER Express的远程实例时工作,如果我在SQL Server 2012计算机上运行它,它也可以工作。
我也尝试从LinqPad与客户机连接到服务器,这也很奇怪,与基于net4/4.5(版本:4.43.06)的新版本,它失败了,但当我使用旧基于net3.5的Linqpad(2.x)版本的工作原理!
好像熊猫安全原因造成的问题,我跑
netsh winsock show catalog
,并发现了一些熊猫的条目,然后我做了复位
netsh winsock reset
现在我的应用程序工作正常,我那么重新启动机器,再次运行目录命令, 熊猫条目回来了,我的应用程序遇到了和以前一样的问题。
下面是Winsock目录中的条目熊猫:https://gist.github.com/pellehenriksson/5159883
所有的意见和建议表示赞赏。
UPDATE
熊猫安全V5是这个问题的原因,这已被熊猫的支持证实。 下面的Alex解释了问题的根本原因。客户将升级到熊猫安全v6,升级后我会再次测试。
结论 搬到熊猫安全v6.0修复了这个问题。
看起来像防火墙问题。阅读以下主题:[将Windows防火墙配置为允许SQL Server访问](http://technet.microsoft.com/zh-cn/library/cc646023.aspx)。您的应用程序是否连接到数据库引擎/分析服务/报告? – 2013-03-14 08:29:42
我很确定这不是一个防火墙问题,我可以连接用.NET 2.0编写的客户端。当删除Panda LSP时,它也适用于.NET 4.5。 – Pelle 2013-03-14 08:36:51
你也可以添加连接字符串吗? – 2013-03-14 08:39:30