OracleLob.CopyTo Method

Definition

Copies from this OracleLob to a destination OracleLob.

Overloads

CopyTo(OracleLob)

Copies from this OracleLob to a destination OracleLob.

CopyTo(OracleLob, Int64)

Copies from this OracleLob to a destination OracleLob with the specified amount of data.

CopyTo(Int64, OracleLob, Int64, Int64)

Copies from this OracleLob to a destination OracleLob with the specified amount of data, and the source offset.

CopyTo(OracleLob)

Copies from this OracleLob to a destination OracleLob.

public:
 long CopyTo(System::Data::OracleClient::OracleLob ^ destination);
public long CopyTo (System.Data.OracleClient.OracleLob destination);
override this.CopyTo : System.Data.OracleClient.OracleLob -> int64
Public Function CopyTo (destination As OracleLob) As Long

Parameters

destination
OracleLob

The destination OracleLob.

Returns

The number of bytes copied. This excludes any padded bytes.

Exceptions

The OracleLob specified in the destination parameter is null.

The operation is not within a transaction, the OracleLob object is null, or the connection is closed.

An Oracle error has occurred.

Remarks

The underlying data types must always be the same. For example, if you are copying from an NClob, the destination OracleLob must also be an NClob.

If the destination offset is beyond the end of destination LOB, the LOB to which the data is being copied is extended. The space between the end of the LOB and the destination offset beyond the end is padded with zeros for BLOB data types and spaces for CLOB and NCLOB data types.

To write to the LOB, you must have retrieved the LOB using the FOR UPDATE clause in the SQL SELECT statement, and you must have a local transaction started.

Note

In this release, a write operation to a read-only LOB might succeed, but not update the LOB on the server. In this case, however, the local copy of the LOB will be updated. Therefore, later read operations on the OracleLob object might return the results of the write operation.

The CopyTo method does not clear the contents of the destination OracleLob before performing the copy operation.

CopyTo(OracleLob, Int64)

Copies from this OracleLob to a destination OracleLob with the specified amount of data.

public:
 long CopyTo(System::Data::OracleClient::OracleLob ^ destination, long destinationOffset);
public long CopyTo (System.Data.OracleClient.OracleLob destination, long destinationOffset);
override this.CopyTo : System.Data.OracleClient.OracleLob * int64 -> int64
Public Function CopyTo (destination As OracleLob, destinationOffset As Long) As Long

Parameters

destination
OracleLob

The destination OracleLob

destinationOffset
Int64

The offset to which to copy. For CLOB and NCLOB data types, this must be an even number of bytes.

Returns

The number of bytes copied. This excludes any padded bytes.

Exceptions

The OracleLob specified in the destination parameter is full.

A value specified in the destinationOffset parameter is less than zero or greater than 4 gigabytes.

-or-

A value specified in the destinationOffset parameter for a CLOB or NCLOB data type is not even.

-or-

You must specify CLOB and NCLOB data types as an even number of bytes.

The operation is not within a transaction, the OracleLob object is null, or the connection is closed.

An Oracle error has occurred.

Remarks

The underlying data types must always be the same. For example, if you are copying from an NClob, the destination OracleLob must also be an NClob.

If the destination offset is beyond the end of destination LOB, the LOB to which the data is being copied is extended. The space between the end of LOB and destination offset beyond the end is padded with zeros for BLOB data types and spaces for CLOB and NCLOB data types.

To write to the LOB, you must have retrieved the LOB using the FOR UPDATE clause in the SQL SELECT statement, and you must have a local transaction started.

Note

In this release, a write operation to a read-only LOB might succeed, but does not update the LOB on the server. In this case, however, the local copy of the LOB is updated. Therefore, later read operations on the OracleLob object might return the results of the write operation.

The CopyTo method does not clear the contents of the destination OracleLob before performing the copy operation.

CopyTo(Int64, OracleLob, Int64, Int64)

Copies from this OracleLob to a destination OracleLob with the specified amount of data, and the source offset.

public:
 long CopyTo(long sourceOffset, System::Data::OracleClient::OracleLob ^ destination, long destinationOffset, long amount);
public long CopyTo (long sourceOffset, System.Data.OracleClient.OracleLob destination, long destinationOffset, long amount);
override this.CopyTo : int64 * System.Data.OracleClient.OracleLob * int64 * int64 -> int64
Public Function CopyTo (sourceOffset As Long, destination As OracleLob, destinationOffset As Long, amount As Long) As Long

Parameters

sourceOffset
Int64

The offset from which to copy. For CLOB and NCLOB data types, this must be an even number.

destination
OracleLob

The destination OracleLobSystem.Data.OracleClient.

destinationOffset
Int64

The destination offset to which to copy. For CLOB and NCLOB data types, this must be an even number.

amount
Int64

The quantity of data, in bytes, to copy. For CLOB and NCLOB data types, this must be an even number.

Returns

The number of bytes copied. This excludes any padded bytes.

Exceptions

The OracleLob specified in the destination parameter is full.

A value specified in the amount, sourceOffset, or destinationOffset parameter is less than zero or greater than 4 gigabytes.

-or-

A value specified in the amount, sourceOffset, or destinationOffset parameter for a CLOB or NCLOB data type is not even.

The operation is not within a transaction, the OracleLob object is null, or the connection is closed.

An Oracle error has occurred.

Remarks

The underlying data types must always be the same. For example, if you are copying from an NClob, the destination OracleLob must also be an NClob.

If the destination offset is beyond the end of destination LOB, the LOB to which the data is being copied is extended. The space between the end of LOB and destination offset beyond the end is padded with zeros for BLOB data types and spaces for CLOB and NCLOB data types.

To write to the LOB, you must have retrieved the LOB using the FOR UPDATE clause in the SQL SELECT statement, and you must have a local transaction started.

Note

In this release, a write operation to a read-only LOB might succeed, but does not update the LOB on the server. In this case, however, the local copy of the LOB is updated. Therefore, later read operations on the OracleLob object might return the results of the write operation.

The CopyTo method does not clear the contents of the destination OracleLob before performing the copy operation.

Applies to