错误背景:

操作系统:编程环境:VS2013。  语言:VB.net;  数据库:SQLserver2008

做数据库连接时。发生的错误:

错误提示为:

说明:用VB.net连接SQLServer数据库

第一种情况:

连接字符串为“Server=(Local);Database=charge_sys;UserID = sa;Password=123456”时,连接没问题;

另外一种情况:

当把“ Server=(Local)”换为 “ Server=192.168.24.123 ”。即把local换为数据库serverIP地址时,连接不成功。出现如上错误(PS:其它人的机器上就能够)。

第一种情况的代码:

    Public Class UserDAO
Public connStr As String = "Server=(Local);Database=charge_sys;User ID = sa;Password=123456"
Public Function UserLogin(ByVal userName As String, ByVal password As String) As Boolean
<span style="white-space:pre"> </span> Dim conn As New SqlConnection(connStr)
Dim dbcmd As New SqlCommand
Dim reader As SqlDataReader
<span style="white-space:pre"> </span> Dim sqlStr As String = "select * from User_Info where userID=@userName and PWD=@password"
'与数据库建立连接
conn.Open()
'操作数据库
dbcmd = New SqlCommand(sqlStr, conn)
dbcmd.Parameters.Add(New SqlParameter("@userName", userName))
dbcmd.Parameters.Add(New SqlParameter("@password", password))
reader = dbcmd.ExecuteReader
If reader.Read Then
Return True
Else
Return False
End If
'关闭与数据库的连接
conn.Close()
End Function
End Class

另外一种情况的代码

    Public Class UserDAO
Public connStr As String = "Server=192.168.24.123;Database=charge_sys;User ID = sa;Password=123456"
Public Function UserLogin(ByVal userName As String, ByVal password As String) As Boolean
<span> </span> Dim conn As New SqlConnection(connStr)
Dim dbcmd As New SqlCommand
Dim reader As SqlDataReader
<span> </span> Dim sqlStr As String = "select * from User_Info where userID=@userName and PWD=@password"
'与数据库建立连接
conn.Open()
'操作数据库
dbcmd = New SqlCommand(sqlStr, conn)
dbcmd.Parameters.Add(New SqlParameter("@userName", userName))
dbcmd.Parameters.Add(New SqlParameter("@password", password))
reader = dbcmd.ExecuteReader
If reader.Read Then
Return True
Else
Return False
End If
'关闭与数据库的连接
conn.Close()
End Function
End Class

两种代码的不同之处只在于数据库连接字符串中的Server值不同

解决方法:

       第一种方法:


       重置winsock,我的系统为Win7 64位旗舰版,用管理员身份执行:netsh winsock reset ,重新启动,得到解决。

其它系统重置方法或者出现故障,可參考百度百科《netsh
winsock reset》

       第一种方法:


       更新.NET Framework。


       在VisualStudio的反馈中心找到了解决方法:After
installing VS 2013 unable to add data connections?
。在这个帖子以下有这样一句评论:

        

        在VS中看了一下.NET Framework的版本号:

        

        于是去下载了最新版本号的.NET Framework4.5.2(点击跳到下载链接)。安装之后上述问题“ ‘System.AccessViolationException’
类型的未经处理的异常在 System.Data.dll 中发生
” 得到完美解决。
     
     

总结:

       发生此问题“ ‘System.AccessViolationException’ 类型的未经处理的异常在 System.Data.dll 中发生”,可能是安装了VS2013后对系统中的winsock接口产生影响。因此第一种方法重置winsock能够解决;微软近期几天刚公布的.NET
Framework4.5.2也彻底攻克了这个问题,因此升级也是个不错的选择

       
       发生此类问题肯定还有其它原因和解决方式,假设您还有所补充,欢迎您给我回复,互相学习。共同进步。

System.AccessViolationException”类型的未经处理的异常在 System.Data.dll 中发生。其它信息:尝试读取或写入受保护的内存。这通常指示其它内存已损坏。的更多相关文章

  1. “System.BadImageFormatException”类型的未经处理的异常在 PurchaseDevices.Access.dll 中发生 其他信息: 未能加载文件或程序集“System.Data.SQLite, Version=1.0.66.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139”或它的某一个依赖项。试图加载格式不正确

    引用sqlite的程序集时,有时会报如下异常:  "System.BadImageFormatException"类型的未经处理的异常在 PurchaseDevices.Acces ...

  2. P/Invoke出现错误 System.NullReferenceException”类型的未经处理的异常在 未知模块。 中发生 未将对象引用设置到对象的实例。

    问题 “System.NullReferenceException”类型的未经处理的异常在 未知模块. 中发生 未将对象引用设置到对象的实例. 解决方案 1.尝试 用管理员身份运行CMD,输入nets ...

  3. String.Net “System.TypeInitializationException”类型的未经处理的异常在 Spring.NetDemo.exe 中发生

    今天编写String.Net时,遇到“System.TypeInitializationException”类型的未经处理的异常在 Spring.NetDemo.exe 中发生 原因配置文件的顺序写错 ...

  4. “System.AccessViolationException”类型的未经处理的异常在 System.Data.dll 中发生 其他信息: 尝试读取或写入受保护的内存。这通常指示其他内存已损坏

    用管理员身份运行CMD:netsh winsock reset就可以解决

  5. 使用C#在VS中开发:未处理AccessViolationException “System.AccessViolationException”类型的未经处理的异常

    未处理AccessViolationException: “System.AccessViolationException”类型的未经处理的异常在System.Data.dll中发生 其他信息:尝试读 ...

  6. “System.FormatException”类型的未经处理的异常在 System.IdentityModel.dll 中发生 其他信息: 十六进制字符串格式无效。

    如果你的 WebService 客户端证书配置都没问题,唯独调用接口会出现这个错误 “System.FormatException”类型的未经处理的异常在 System.IdentityModel.d ...

  7. System.AccessViolationException,尝试读取或写入受保护的内存。这通常指示其他内存已损坏。

    从事件查看器中发现,IIS不定期崩溃并重启的现象.抓取crash dump文件后,发现能够看到异常,但没有堆栈信息(主要是只会看托管代码的堆栈,非托管的不清楚.),问题表现及dump日志的截图如下: ...

  8. System.AccessViolationException: 尝试读取或写入受保护的内存。这通常指示其他内存已损坏。

    系统debug时出现错误,System.AccessViolationException: 尝试读取或写入受保护的内存.这通常指示其他内存已损坏. Attempted to read or write ...

  9. AccessViolationException: 尝试读取或写入受保护的内存。这通常指示其他内存已损坏。

    在使用SqlConnection.Open()连接到SQL Server 2008 R2 SP2时,一直报以下异常: AccessViolationException: 尝试读取或写入受保护的内存.这 ...

随机推荐

  1. 本地连接批处理修改IP

    例子: 本地连接修改IP netsh interface ip delete dns "本地连接" addr=allnetsh interface ip add dns " ...

  2. Vue全局添加组件或者模块

    import Api from './api.js' export default { install (Vue) { Vue.prototype.$Api = Api } } 这种格式就可以在mai ...

  3. 免费公共DNS服务器IP地址大全(2017年6月24日)

    收集全球各个常用公共DNS服务器 IP地址,欢迎各位朋友评论补充! 国内常用公共DNS 114 DNS: (114.114.114.114:    114.114.115.115) 114DNS安全版 ...

  4. Swift protocol extension method is called instead of method implemented in subclass

    Swift protocol extension method is called instead of method implemented in subclass protocol MyProto ...

  5. 前复权是从今天的价格倒推 后复权是从上市价格前推 不复权就是原始K线。

    前复权是从今天的价格倒推 后复权是从上市价格前推 不复权就是原始K线.

  6. Beta测试团队

    ---恢复内容开始--- Beta版本测试 这个作业属于哪个课程 https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass1/?page ...

  7. cookie和session的用法用途,执行流程,区别联系

    1.为什么要有cookie/session?在客户端浏览器向服务器发送请求,服务器做出响应之后,二者便会断开连接(一次会话结束).那么下次用户再来请求服务器,服务器没有任何办法去识别此用户是谁.比如w ...

  8. 【C语言】控制台窗口图形界面编程(二)窗口信息和填充缓冲区

    目录 00. 目录 01. COORD结构体 02. SMALL_RECT结构 03. CONSOLE_SCREEN_BUFFER_INFO结构体 04. GetConsoleScreenBuffer ...

  9. 笔试算法题(44):简介 - 动态规划(Dynamic Programming)

    议题:动态规划(Dynamic Programming) 分析: DP主要用于解决包含重叠子问题(Overlapping Subproblems)的最优化问题,其基本策略是将原问题分解为相似的子问题, ...

  10. js 技巧 (四)

    //下载文件 function DownURL(strRemoteURL,strLocalURL) { try {   var xmlHTTP=new ActiveXObject("Micr ...