场景:
使用 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 语法,指定表别名进行联合查询。