sql >> Databasteknik >  >> RDS >> Oracle

Oracle.DataAccess.Client.OracleCommand ExecuteReaderAsync

Oracle-klienten åsidosätter inte de asynkroniserade versionerna av metoderna. De använder standard DbCommand implementeringar som anropar de icke-asynkroniserade versionerna av metoderna.

Till exempel implementeringen av ExecuteNonQueryAsync är:

// System.Data.Common.DbCommand
public virtual Task<int> ExecuteNonQueryAsync(CancellationToken cancellationToken)
{
    if (cancellationToken.IsCancellationRequested)
    {
        return ADP.CreatedTaskWithCancellation<int>();
    }
    CancellationTokenRegistration cancellationTokenRegistration = default(CancellationTokenRegistration);
    if (cancellationToken.CanBeCanceled)
    {
        cancellationTokenRegistration = cancellationToken.Register(new Action(this.CancelIgnoreFailure));
    }
    Task<int> result;
    try
    {
        result = Task.FromResult<int>(this.ExecuteNonQuery());
    }
    catch (Exception ex)
    {
        cancellationTokenRegistration.Dispose();
        result = ADP.CreatedTaskWithException<int>(ex);
    }
    return result;
}

Som du kan se anropar den helt enkelt ExecuteNonQuery under huven (överbelastningen utan parameter för ExecuteNonQueryAsync anropar denna version av metoden).




  1. java.sql.SQLRecoverableException - återanslut från jdbc

  2. MySQL Lägger till KOMMENTAR till en främmande nyckel

  3. Översätter fråga från Firebird till PostgreSQL

  4. Infoga formulärdata i två olika tabeller på databasen via jsp-sidan