This instance method copies data from the current OracleBlob
instance to the provided OracleBlob
object with the specified source offset, destination offset, and character amounts.
Declaration
// C# public Int64 CopyTo(Int64 src_offset,OracleBlob obj,Int64 dst_offset, Int64 amount);
Parameters
src_offset
The offset (in bytes) in the current instance, from which the data is read.
obj
The OracleBlob
object to which the data is copied.
dst_offset
The offset (in bytes) at which the OracleBlob
object is copied.
amount
The amount of data to be copied.
Return Value
The return value is the amount copied.
Exceptions
ObjectDisposedException
- The object is already disposed.
InvalidOperationException
- The parameter has a different connection than the object, OracleConnection
is not opened, or OracleConnection
has been reopened.
ArgumentOutOfRangeException
- The src_offset
, the dst_offset
, or the amount
parameter is less than 0
.
Remarks
If the dst_offset
is beyond the end of the OracleBlob
data, spaces are written into the OracleBlob
until the dst_offset
is met.
The offsets are 0
-based. No character conversion is performed by this operation.
The provided object and the current instance must be using the same connection; that is, the same OracleConnection
object.
Example
// 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(); } }