zoukankan      html  css  js  c++  java
  • System.AccessViolationException: 尝试读取或写入受保护的内存。这通常指示其他内存已损坏

    之前也遇到过这样的问题,一直未解决,最后重新安装系统,终于解决了。

    没想到1个月以后,又出现了这种情况,让我奔溃,这次决定一定要找出原因;

    调试后发现, connection.Open();以后报错,System.AccessViolationException: 尝试读取或写入受保护的内存。这通常指示其他内存已损坏,网上搜了很多都没有作用。

    然后我发现 连接本地数据库是好的,连接远程数据库是报错了,但是在sql server Management中是好的  

    然后在VS的服务资源管理器中找到了问题,发现VS2010 ,只要一连接远程数据库就立马关闭掉了,VS2013则是好的,最后发现在关掉的瞬间,会弹出一个提示,经过几次反复截图,终于找到了关键:

     

    provider SSLProvider error:0

    在网上一搜,豁然开朗,解决方法如下:

    1:使用OLEDB ,不再使用SQLClient可以解决;

    2:这个最方便,在开始运行栏中 输入 CMD,然后以管理员身份运行:输入:netsh winsock reset 后,系统提示需要重启电脑,重启后解决!

     

     (windows键+R)

    最后补充一下,这个命令的意思:

      netsh winsock reset命令,作用是重置 Winsock 目录。如果一台机器上的Winsock协议配置有问题的话将会导致网络连接等问题,就需要用netsh winsock reset命令来重置Winsock目录借以恢复网络。这个命令可以重新初始化网络环境,以解决由于软件冲突、病毒原因造成的参数错误问题。 netsh是一个能够通过命令行操作几乎所有网络相关设置的接口,比如设置IP,DNS,网卡,无线网络等,Winsock是系统内部目录,Winsock是Windows网络编程接口,winsock工作在应用层,它提供与底层传输协议无关的高层数据传输编程接口,reset是对Winsock的重置操作。当执行完winsock的命令重启计算机后,需要重新配置IP。

  • 相关阅读:
    汇编学习笔记(25)
    在QT C++中调用 Python并将软件打包发布(裸机可运行)
    集合类
    解决python matplotlib 中文字体的显示乱码-Windows系统;RuntimeWarning: Glyph
    元数据库设计
    解决方案sln工程csproj
    托管代码和非托管代码的区别
    IIS安装和使用URL重写工具-URL Rewrite
    SSL证书及使用
    rpc和rpcwithcert两个虚拟目录
  • 原文地址:https://www.cnblogs.com/ajunForNet/p/4137321.html
Copyright © 2011-2022 走看看