Mình dùng Oracle Data Adapter để thực thi store và lấy dữ liệu trả về tuy nhiên mình gặp vấn đề khi phải xử lý dữ liệu lên tới hơn 16000 dòng. Khi thực thi đoạn code thì Oracle Data Adapter chạy hoài mà không thấy có phản hồi lại, không hiểu là nguyên do gì.Đây là dòng code của mình

Code:
try
            {
                using (OracleConnection connection = new OracleConnection(ConnectDatabase.ConnectionString))
                {
                    connection.Open();
                    using (OracleCommand cmd = connection.CreateCommand())
                    {
                        try
                        {
                            cmd.Transaction = connection.BeginTransaction();
                            cmd.CommandType = CommandType.StoredProcedure;
                            cmd.CommandText = "PKG_DXXX";
                            cmd.Parameters.Add("P_DX1", OracleType.VarChar).Value = ma_dviqly;
                            cmd.Parameters.Add("P_X2", OracleType.VarChar).Value = tungay;
                            cmd.Parameters.Add("P_X3", OracleType.VarChar).Value = denngay;
                            cmd.Parameters.Add("P_X4", OracleType.Number).Value = loaihs;
                            cmd.Parameters.Add("P_X5", OracleType.Number).Value = tinhtrang;
                            cmd.Parameters.Add("P_X6", OracleType.VarChar).Value = loai_tram;
                            cmd.Parameters.Add("P_DS", OracleType.Cursor).Direction = ParameterDirection.Output;
                            DataSet ds = new DataSet();
                            OracleDataAdapter da = new OracleDataAdapter(cmd);
                            da.Fill(ds);
                            cmd.Transaction.Commit();
                            return ds;
                        }
                        catch (Exception ex)
                        {
                            cmd.Transaction.Rollback();
                            throw ex;
                        }
                    }
                }
            }
            catch (Exception ex)
            { throw ex; }
Với dữ liệu dưới 10000 dòng thì ok, còn dữ liệu 16000 dòng thì treo luôn