尝试连接到托管“服务器”与Windows XP专业版上的SQL Server 2000数据库时,我总是得到上述错误。 客户端PC(我的工作环境)是Windows 7操作系统。
到现在为止我已经使用Visual Studio 2010和.Net框架4.0开发我的申请。 一切都正常工作。 然后,我已经安装了Visual Studio Express的2012 Web和ASP.NET 4.5。
现在,当我尝试通过连接SqlConnection conConnection .Open()
我得到的异常:
A connection was successfully established with the server,
but then an error occurred during the pre-login handshake.
(provider: TCP Provider, error: 0 -
An existing connection was forcibly closed by the remote host.)
请注意第二个消息,因为我发现很少的信息上: 一个现有的连接被强行关闭远程主机 。
我还没有尝试过失败了无数的解决方案,其中包括:
- 各种连接字符串(加密=假)
- 的netsh的WinSock显示目录> winsocks.txt(似乎没有在这里发现任何奇怪的应用程序)
- 的netsh Winsock的重置客户端和服务器上
- 从Visual Studio重建应用定位.NET 4.0 / 4.5净额
- 使用Visual Studio开发服务器或本地IIS Web服务器
- IIS复位,重新启动客户端和服务器PC variuos倍
- 检查SQL Server 2000的性能,连接,日志分析器...
其他什么我可以尝试下不disinstalling网4.5(和Visual Studio 2012)?
其他重要信息
此相同的应用程序部署在生产服务器(Windows 7中,IIS 7.5,.Net框架4.0)。 在生产实际中的应用与Visual Studio 2010中编译,.NET 4.0,并没有任何错误(谢天谢地)正确连接! 于是,问题出现了我的客户端机器上我已经安装了VS 2012快递和Asp.net 4.5后。 (我还试图打开并重新编译与VS2010的解决方案,但我得到同样的除外)。
编辑
出于测试目的,我已经部署了应用程序,在VS 2012 / .NET 4.0编译,“生产”服务器(关于这一点我从来没有安装网4.5当然)。 为此,我创建了一个新的网站,与应用程序池设置为集成管道和指定网络框架v4.0.30319。 现在,这个测试网站成功地连接到我的测试SQL Server数据库(SQL 2000),并以我的生产服务器数据库(SQL7)。 线索:
这个问题只存在于我的客户端PC,而罪魁祸首是净4.5?
编辑2
通过Visual Studio的连接2010或2012服务器资源管理器,数据来源:Microsoft SQL Server的程序(SqlClient)给出了同样的异常(唯一的区别是,现在是登录前的握手超时)。
相反,从Microsoft SQL Server Management Studio中连接2008年工作正常! (服务器类型:数据库引擎,服务器名称:MYSERVER \ SQL2000;身份验证:SQL Server的验证;登录名:密码)
怎么可以从SQL Server Management Studio中连接工作正常?