问题描述
当我执行以下代码时,值 dr.HasRows
为 false
,而 dr.Read()
返回 false。在 sql Developer 中运行的相同查询返回 10 行:
var allTablessql = "select * from all_tables where table_name = 'ADDFIELDSPIPES'";
var cmd = new OracleCommand(allTablessql,conn);
cmd.CommandType = CommandType.Text;
var dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
if (dr.Read())
{
// We have rows!
}
如果我将查询更改为如下所示,则 dr.HasRows
为 true
并且 dr.Read()
返回 true
:
var allTablessql = "select * from all_tables where table_name like '%'";
我怀疑 ODP.NET 在某处以某种方式在执行我提供的 sql 字符串之前查询了元数据,而这个元数据查询以某种方式阻止了 ODP.NET 为我的查询返回任何行。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)