Получение MultiExec не поддерживается ExecuteReader при запуске SPR - PullRequest
0 голосов
/ 19 сентября 2018

Я написал следующий метод

public async Task<DataTable> ExecuteProcedureToDataTableAsync(string spName, object parameters, int? commandTimeout = null, bool userPrefix = false)
    {
        using (var connection = new SqlConnection(_ConnectionString))
        {
            string spNameWithPrefix = GetSpNameWithPrefix(spName, userPrefix);
            var dt = new DataTable();
            _Logger.Debug($"Executing Query: [{spNameWithPrefix}], with params:[{parameters.ToJsonString()}]");
            dt.Load(await connection.ExecuteReaderAsync(spNameWithPrefix, parameters, commandTimeout: commandTimeout, commandType: CommandType.StoredProcedure));
            _Logger.Debug($"Completed Query To DataTable: [{spNameWithPrefix}], result columnCount:[{dt.Columns.Count}], result row count:[{dt.Rows.Count}]");
            return dt;
        }
    }

и вызвал его так:

using (var results = await ExecuteProcedureToDataTableAsync(StoredProcedureFullName, StoredProcedureParams, Timeout, userPrefix: false))
{
    ExportReport(requestModel, results);
}

и получил исключение:

MultiExec неподдерживается ExecuteReader

не поддерживается ли executeReader с spr?

1 Ответ

0 голосов
/ 19 сентября 2018

Многократное выполнение не поддерживается ExecuteReader.Вместо этого используйте QueryMultiple .

...