CopyTo(Int64, OracleClob, Int64, Int64)
このインスタンス・メソッドでは、データを現行のOracleClobインスタンスから指定されたOracleClobオブジェクトに、指定されたソース・オフセット、オフセット先および文字数とともにコピーします。
宣言
// C# public Int64 CopyTo(Int64 src_offset,OracleClob obj,Int64 dst_offset, Int64 amount);
パラメータ
-
src_offsetデータの読取り元の現行インスタンス内のオフセット(文字)
-
objデータのコピー先の
OracleClobオブジェクト -
dst_offsetOracleClobオブジェクトをコピーするオフセット(文字) -
amountコピーするデータ容量
戻り値
戻り値はコピーされた数
例外
ObjectDisposedException - オブジェクトはすでに処理されています。
InvalidOperationException - パラメータにオブジェクト以外の接続があるか、OracleConnectionがオープンされていないか、またはOracleConnectionが再オープンされています。
ArgumentOutOfRangeException - src_offset、dst_offsetまたはamountパラメータが0より小さい場合。
備考
dst_offsetがOracleClobデータの終点を超えている場合は、dst_offsetに到達するまでOracleClobに空白が書き込まれます。
オフセットは0ベースです。この操作で文字変換は実行されません。
指定されたオブジェクトと現行のインスタンスには、同じ接続を使用する必要があります。つまり、同じOracleConnectionオブジェクトを使用します。
例
// C#
using System;
using Oracle.DataAccess.Client;
using Oracle.DataAccess.Types;
class CopyToSample
{
static void Main()
{
string constr = "User Id=scott;Password=tiger;Data Source=oracle";
OracleConnection con = new OracleConnection(constr);
con.Open();
OracleClob clob1 = new OracleClob(con);
OracleClob clob2 = new OracleClob(con);
// Write 4 chars, starting at buffer offset 0
char[] buffer = new char[4] {'a', 'b', 'c', 'd'};
clob1.Write(buffer, 0, 4);
// Copy 2 chars from char 0 of clob1 to char 1 of clob2
clob1.CopyTo(0, clob2, 1, 2);
//Prints "clob2.Value = ab"
Console.WriteLine("clob2.Value = " + clob2.Value);
clob1.Close();
clob1.Dispose();
clob2.Close();
clob2.Dispose();
con.Close();
con.Dispose();
}
}