CopyTo(Int64, OracleBlob, Int64, Int64)
このインスタンス・メソッドでは、データを現行のOracleBlobインスタンスから指定されたOracleBlobオブジェクトに、指定されたソース・オフセット、オフセット先および文字数とともにコピーします。 
                  
宣言
// C# public Int64 CopyTo(Int64 src_offset,OracleBlob obj,Int64 dst_offset, Int64 amount);
パラメータ
- 
                        
src_offsetデータの読取り元の現行インスタンス内のオフセット(バイト)
 - 
                        
objデータのコピー先の
OracleBlobオブジェクト - 
                        
dst_offsetOracleBlobオブジェクトをコピーするオフセット(バイト) - 
                        
amountコピーするデータ容量
 
戻り値
戻り値はコピーされた数
例外
ObjectDisposedException - オブジェクトはすでに処理されています。
                  
InvalidOperationException - パラメータにオブジェクト以外の接続があるか、OracleConnectionがオープンされていないか、またはOracleConnectionが再オープンされています。
                  
ArgumentOutOfRangeException - src_offset、dst_offsetまたはamountパラメータが0より小さい場合。
                  
備考
dst_offsetがOracleBlobデータの終点を超えている場合は、dst_offsetに到達するまでOracleBlobに空白が書き込まれます。 
                  
オフセットは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();
 
    OracleBlob blob1 = new OracleBlob(con);
    OracleBlob blob2 = new OracleBlob(con);
 
    // Write 4 bytes, starting at buffer offset 0
    byte[] buffer = new byte[4] {1, 2, 3, 4};    
    blob1.Write(buffer, 0, 4);
 
    // Copy 2 bytes from byte 0 of blob1 to byte 1 of blob2
    blob1.CopyTo(0, blob2, 1, 2);
 
    byte[] copyBuffer = blob2.Value;    
 
    //Prints "Value = 012"
    Console.Write("Value = ");
    for(int index = 0; index < copyBuffer.Length; index++)
    {
      Console.Write(copyBuffer[index]);
    }
    Console.WriteLine();
    
    blob1.Close();
    blob1.Dispose();
 
    blob2.Close();
    blob2.Dispose();
 
    con.Close();
    con.Dispose();
  }
}