一个连接成功与服务器建立的,但随后的预登录握手期间发生错误。 TCP提供程序,error:0(A

2019-10-18 05:15发布

尝试连接到托管“服务器”与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中连接工作正常?

Answer 1:

你卸载VS 2012“修复”这个问题? 你为什么不能在服务器上安装.NET 4.5或在DLL文件复制到每马克Gravell的职位服务器http://marcgravell.blogspot.co.nz/2012/09/iterator-blocks-missing-methods-and- net.html ?



Answer 2:

我基本上是有同样的问题。 成功地运行Win 7的计算机上在Visual Studio 2010,但转移到运行Visual Studio 2012项目是由VS运行时,其转换在Windows 8箱ASP.NET项目抛出上述的SQL服务器的错误消息。 SQL服务器是远程的,但是这两个客户端(Win 7的和Win 8)在同一个网络上的本地。 一期工程和其他没有。

在两台机器上在IIS中我发现有正在使用的Web应用程序的应用程序池的配置之间的差异比较设置。 身份属性默认为“ApplicationPoolIdentity”如果你改变它,而是“网络服务”,那么问题得到解决。 希望这会帮助别人,因为我已经做了广泛的搜索,并没有发现任何指出了这一点。



文章来源: A connection was successfully established with the server, but then an error occurred during the pre-login handshake. TCP provider, error: 0