0

我正在使用 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

    }

    

    

有没有其他方法可以在不使用游标的情况下读取批处理查询。

4

0 回答 0