oracle - 当存在行时,ODP.NET ExecuteReader 返回零结果
问题描述
当我执行以下代码时,值为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 为我的查询返回任何行。
解决方案
推荐阅读
- c++ - 未初始化的寄存器变量警告
- weblogic -
AppMerge 未能合并您的应用程序 - docker - Docker:如何将卷用于桌面应用程序
- neo4j - 从 JSON 数据创建重复关系
- node.js - 使用 node.js 通过 bash 管道 shell 脚本
- python - 无法导入 certificate_transparency
- adobe-brackets - 无法对括号进行实时预览
- java - 如何从gmail获取内容类型为“multipart”的消息号?
- amazon-web-services - 使用什么 AWS Fargate 或 AWS Beanstalk
- python - set_password() 未设置 DRF 密码