У меня есть процедура, которая возвращает курсор ref. Требуется 4 параметра, и я использую C #. Я искал примеры по всей сети, но не могу заставить их работать
Это то, что у меня есть
public static int test(int test_id, int progr, int setID, string BFilter)
{
object cur1 = System.DBNull.Value;
string spname = "SP.GetValues";
using (Oracle.DataAccess.Client.OracleCommand command = DB.GetStoredProcCommand(spname, test_id, progr, setID, BFilter, cur1))
{
using (OracleDataReader reader = command.ExecuteReader())
{
while (reader.Read())
{
//load array
}
}
}
int t = 1;
return t;
}
Я использовал набор данных, который работал нормально, за исключением того, что он занимал 20 секунд каждый раз, чтобы получить 500 строк, и я должен был сделать это 800 раз. Я подумал, что с использованием устройства чтения данных загрузка его в массив и последующее циклическое выполнение по массиву будет быстрее, чем чтение в набор данных. Самому SP требуется 1 секунда, чтобы вернуться, он тратит 19 секунд на линии заполнения.