13.3.6.12 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_offset
OracleClob
オブジェクトをコピーするオフセット(文字) -
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(); } }