CopyToAsync
CopyToAsync returns a Task-based asynchronous version of OracleBlob.CopyTo().
Overload List:
-
CopyToAsync(Int64, OracleBlob, Int64, Int64)
This instance method returns a Task-based asynchronous version of
OracleBlob.CopyTo(). -
CopyToAsync(Int64, OracleBlob, Int64, Int64, CancellationToken)
This instance method returns a Task-based asynchronous version of
OracleBlob.CopyTo(). -
CopyToAsync(OracleBlob, Int64)
This instance method returns a Task-based asynchronous version of
OracleBlob.CopyTo(). -
CopyToAsync(OracleBlob, Int64, CancellationToken)
This instance method returns a Task-based asynchronous version of
OracleBlob.CopyTo(). -
This instance method returns a Task-based asynchronous version of
OracleBlob.CopyTo(). -
CopyToAsync(OracleBlob, CancellationToken)
This instance method returns a Task-based asynchronous version of
OracleBlob.CopyTo().
Example (includes all Overloads)
using Oracle.ManagedDataAccess.Client;
using Oracle.ManagedDataAccess.Types;
using System;
using System.Threading;
using System.Threading.Tasks;
namespace AsyncApp
{
class AsyncDemo
{
static async Task Main(string[] args)
{
string connectionString = "User Id=HR; Password=<PASSWORD>; Data Source=oracle;";
OracleConnection oc = new OracleConnection(connectionString);
await oc.OpenAsync(CancellationToken.None);
OracleCommand cmd = oc.CreateCommand();
cmd.CommandText = " select blob_column from tab1";
OracleBlob blob1 = new OracleBlob(oc);
OracleBlob blob2 = new OracleBlob(oc);
OracleBlob blob3 = new OracleBlob(oc);
OracleBlob blob4 = new OracleBlob(oc);
OracleBlob blob5 = new OracleBlob(oc);
OracleBlob blob6 = new OracleBlob(oc);
OracleDataReader reader = await cmd.ExecuteReaderAsync();
await reader.ReadAsync(CancellationToken.None) ;
using (OracleBlob blob = reader.GetOracleBlob(0))
{
//asynchronously copy blob data
Int64 bytesCopied1 = await blob.CopyToAsync(0, blob1, 0, blob.Length);
Console.WriteLine("bytes copied to blob1 = " + bytesCopied1);
//asynchronously copy blob data
Int64 bytesCopied2 = await blob.CopyToAsync(0, blob2, 0, blob.Length, CancellationToken.None);
Console.WriteLine("bytes copied to blob2 = " + bytesCopied2);
//asynchronously copy blob data
Int64 bytesCopied3 = await blob.CopyToAsync(blob3, 0);
Console.WriteLine("bytes copied to blob3 = " + bytesCopied3);
//asynchronously copy blob data
Int64 bytesCopied4 = await blob.CopyToAsync(blob4, 0, CancellationToken.None);
Console.WriteLine("bytes copied to blob4 = " + bytesCopied4);
//asynchronously copy blob data
Int64 bytesCopied5 = await blob.CopyToAsync(blob5);
Console.WriteLine("bytes copied to blob5 = " + bytesCopied5);
//asynchronously copy blob data
Int64 bytesCopied6 = await blob.CopyToAsync(blob6, CancellationToken.None);
Console.WriteLine("bytes copied to blob6 = " + bytesCopied6);
}
}
}
}