ReadAsync
ReadAsyncは、指定された数のバイトをODP.NET LOBインスタンスから読み取ってbufferに移入する、タスクベースの非同期バージョンのOracleClob.Read()を返します。
オーバーロード・リスト:
-
ReadAsync(byte[], int, int, CancellationToken)
ReadAsyncは、指定された数のバイトをODP.NET LOBインスタンスから読み取ってbufferに移入する、タスクベースの非同期バージョンのOracleClob.Read()を返します。 -
ReadAsyncは、指定された数のバイトをODP.NET LOBインスタンスから読み取ってbufferに移入する、タスクベースの非同期バージョンのOracleClob.Read()を返します。 -
ReadAsyncは、指定された数のバイトをODP.NET LOBインスタンスから読み取ってbufferに移入する、タスクベースの非同期バージョンのOracleClob.Read()を返します。 -
ReadAsync(char[], int, int, CancellationToken)
ReadAsyncは、指定された数のバイトをODP.NET LOBインスタンスから読み取ってbufferに移入する、タスクベースの非同期バージョンのOracleClob.Read()を返します。
例(すべてのオーバーロードが含まれている)
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 clob_column from tab1";
OracleDataReader reader = await cmd.ExecuteReaderAsync();
await reader.ReadAsync(CancellationToken.None);
using (var clob = reader.GetOracleClob(0))
{
char[] charBuffer = new char[128];
byte[] byteBuffer = new byte[128];
//asynchronously read clob data
int bytesRead = await clob.ReadAsync(byteBuffer, 0, 64);
Console.WriteLine("Bytes Read: " + bytesRead);
//asynchronously read clob data
bytesRead = await clob.ReadAsync(byteBuffer, 64, 64, CancellationToken.None);
Console.WriteLine("Bytes Read: " + bytesRead);
//asynchronously read clob data
int charsRead = await clob.ReadAsync(charBuffer, 0, 64);
Console.WriteLine("Chars Read: " + charsRead);
//asynchronously read clob data
charsRead = await clob.ReadAsync(charBuffer, 64, 64, CancellationToken.None);
Console.WriteLine("Chars Read: " + charsRead);
}
}
}
}