你的位置:首页 > 数据库

[数据库]【转】SQL Server


SQL Server -- 已成功与服务器建立连接,但是在登录过程中发生错误

最近在VS2013上连接远程数据库时,突然连接不上,在跑MSTest下跑的时候,QTAgent32 crash。换成IIS下运行的时候,IIS crash。之前的连接是没问题的,后网上找了资料,根据牛人所说的方案解决了。

 

1. Exception message

已成功与服务器建立连接,但是在登录过程中发生错误。 (provider: SSL Provider, error: 0 - 接收到的消息异常,或格式不正确。) ---> System.ComponentModel.Win32Exception: 接收到的消息异常,或格式不正确。

 

2. Solution

以管理员的身份运行“命令管理器”,输入:netsh winsock reset回车即可,这个重置LSP连接

3. LSP 相关(来自http://tech.sina.com.cn/s/2009-11-13/14203590640.shtml)

关于Winsock LSP“浏览器劫持”,中招者一直高居不下,由于其特殊性,直接删除而不恢复LSP的正常状态很可能会导致无法上网所以对其修复需慎重。

  先说说什么是Winsock LSP“浏览器劫持”.Winsock LSP全称Windows Socket Layered Service Provider(分层服务提供商),它是Windows底层网络Socker通信需要经过的大门。一些流氓软件可以把自已加进去,就可以截取、访问、修 改网络的数据包,可以随意添加广告,还能获取你的浏览习惯。这里加进的是木马,后果可想而知。而且因为LSP工作在底层,所以无论你用什么浏览器,都逃不 了经过它。而LSP中的dll文件被删除后,就会出现无法上网的情况。

  LSP服务在注册表中的位置 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WinSock\Parameters\NameSpace_Catalog5\Catalog_Entries, 默认系统已有LSP,分别负责TCP/IP组件(mswsock.dll)和NTDS组件(winrnr.dll)的正常工作,它们的项分别为 000000000001和000000000002,这两个项表示优先权,如果恶意程序想要劫持,只要将自身的项改为000000000001,将系统 项依次推后即可,这样就可以优先处理恶意程序了。

  解决办法:

  方法1.用360的LSP修复功能来修复。如果提示你的“LSP没有异常,不用修复”,但是你还是上不了网,执行ping命令,在ip地址处会出现(?),无法ping通外网。那么你就用360的“恢复Winsock LSP到初始状态”的功能。

  方法2.就是大家熟悉的,也就是常用的方法,用LSPFix这个工具在断开网络下修复

  方法3.Windows XP Service Pack 2 中有两个新增的 Netsh 命令。

  " netsh winsock reset catalog   该命令将 Winsock 目录重置为默认配置。如果安装了可导致网络连接丢失的不正确的 LSP,该命令会很有用。尽管使用该命令可以还原网络连接,但应该慎重使用,因为以前安装的 LSP 都将需要重新安装。

  " netsh winsock show catalog   该命令会显示安装在计算机上的 Winsock LSP 列表。

  所以呢,我们在没有任何辅助工具的情况下可以用netsh winsock reset命令来重置Winsock

 

转自:http://www.cnblogs.com/caijingui/p/3612970.html