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 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.