首页 > 代码库 > [SQL] - Attempted to read or write protected memory. This is often an indication that other memory is corrupt. 问题之解决

[SQL] - Attempted to read or write protected memory. This is often an indication that other memory is corrupt. 问题之解决

场景:

使用 Oracle.DataAccess.dll 访问数据库时,OracleDataAdapter 执行失败。

技术分享

异常:

System.AccessViolationException was unhandled
  HResult=-2147467261
  Message=Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
  Source=Oracle.DataAccess

技术分享

分析:

有问题的SQL
select distinct username from user u, role r where u.roleid = r.id and u.id = 1

正确的SQL
select distinct u.username from user u, role r where u.roleid = r.id and u.id = 1

总结:

规范使用 SQL 语法,指定表别名进行联合查询。

[SQL] - Attempted to read or write protected memory. This is often an indication that other memory is corrupt. 问题之解决