我正在使用 Ref Cursors 在批量查询中读取多个数据。它工作正常,但问题是命令超时在批量读取的情况下不起作用。没有光标,命令超时有效。我的示例代码是
// Using Oracle.ManagedDataAccess.Client
cmd = new OracleCommand(@"begin open : 1 for select * from Table1; open : 2 for select * from Table2; end;", con);
cmd.Parameters.Add(new OracleParameter("1", OracleDbType.RefCursor, ParameterDirection.InputOutput));
cmd.Parameters.Add(new OracleParameter("2", OracleDbType.RefCursor, ParameterDirection.InputOutput));
cmd.CommandType = System.Data.CommandType.Text;
cmd.CommandTimeout = 5;
//var a = cmd.ExecuteNonQuery();
reader=cmd.ExecuteReader();
while (reader.Read())
{
Console.WriteLine(reader.GetInt32(0)); //Just example
}
reader.NextResult();
while (reader.Read())
{
Console.WriteLine(reader.GetInt32(0)); //Just example
}
有没有其他方法可以在不使用游标的情况下读取批处理查询。