OracleLob.CopyTo Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Overloads
CopyTo(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)
public:
long CopyTo(System::Data::OracleClient::OracleLob ^ destination);
public long CopyTo (System.Data.OracleClient.OracleLob destination);
member this.CopyTo : System.Data.OracleClient.OracleLob -> int64
override this.CopyTo : System.Data.OracleClient.OracleLob -> int64
Public Function CopyTo (destination As OracleLob) As Long
Parameters
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.
Applies to
CopyTo(OracleLob, Int64)
public:
long CopyTo(System::Data::OracleClient::OracleLob ^ destination, long destinationOffset);
public long CopyTo (System.Data.OracleClient.OracleLob destination, long destinationOffset);
member this.CopyTo : System.Data.OracleClient.OracleLob * int64 -> int64
override this.CopyTo : System.Data.OracleClient.OracleLob * int64 -> int64
Public Function CopyTo (destination As OracleLob, destinationOffset As Long) As Long
Parameters
- 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.
Applies to
CopyTo(Int64, OracleLob, Int64, Int64)
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);
member this.CopyTo : int64 * System.Data.OracleClient.OracleLob * int64 * int64 -> int64
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 OracleLob
System.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.