Sql server2012链接Sql server 2008时出现的问题:已成功与服务器创建链接,但在登录过程当中发生错误。(provider:SSL Provider,error:0-接收到的消息异

之前链接是正常的,就这两天连不上了。(没有耐心的直接看末尾解决办法)数据库

错误消息以下:服务器

1.尝试读取或写入受保护的内存。这一般指示其余内存已损坏。(System.Data)ide

QQ截图20131107203307

2.已成功与服务器创建链接,但在登录过程当中发生错误。(provider:SSL Provider,error:0-接收到的消息异常,或格式不正确。)(Microsoft SQL Server)测试

QQ截图20131107203322

而后就Management崩溃了。.net

QQ截图20131107203337

 

我链接的是托管服务器,也没有权限去改变服务器的配置,不知道是服务器设置更改了,仍是本身的电脑出问题了,可是链接本身的本地数据库是没有问题的。3d

这就让我很奇怪,就当是Sql server 2012不向下兼容吧(但前些天还能够)。server

没办法,那就使用vs当中的服务器资源管理器链接吧,结果可想而知,其中vs版本2008,2010,2012,2013均崩溃。无语,怎么办,联系服务器客服,说了半天,没办法,下了个Sql server2008的客户端 试试,没想到真连上了。blog

这不是高潮,高潮是我写代码发现ExecuteNonQuery()执行时报一样的错误,这怎么办,蛋碎。。。System.Data.SqlClient都用不了。愤怒,换成System.Data.OleDb,奇迹出现了,好了。内存

这一下提醒了我,而后就在vs的服务器资源管理器里设置数据源提供程序资源

image

结果应该猜到了,正常了。

看到这里你必定觉得纠结终于结束了,错,Sql server 2012里仍是不能够啊,登录界面选项里没哟设置数据源提供程序的地方,怎么办?看网上说使用Management链接其余数据库,好比链接Oracle,可使用连接服务器链接,配置ODBC。坑爹的是ODBC都弄好的,测试都成功了,但这里就是失败。

image

至今没搞定从Sql server 2012 Management Studio里链接,谁知道的帮我下,我更新到文章了,但愿后面踩到这个坑的顺利些,不要在这上面浪费时间。

 

啰嗦了这么多,我先给出暂时的解决方案,后续再补充:

  1. 使用Sql server 2008客户端
  2. 在程序中使用System.Data.OleDb代替System.Data.SqlClient

Append:

感谢高海东的解决方案,经验证,确实是迅雷引发的异常,卸载掉迅雷的全部产品后,问题获得解决。

疑惑的是以前也在使用迅雷,或许是迅雷自动更新的某些组件引发的,记得当时win8刚出来时,迅雷也引发IE10崩溃。具体原理就不得而知了,先这样吧。

感谢 jaypgcool :也许是迅雷更改了winsock的某些设置,重置了一下winsock就OK了,命令:netsh winsock reset

相关文章
相关标签/搜索