OracleLob.CopyTo 方法

定义

从该 OracleLob 复制到目标 OracleLob

重载

CopyTo(OracleLob)

从该 OracleLob 复制到目标 OracleLob

CopyTo(OracleLob, Int64)

将指定数量的数据从该 OracleLob 复制到目标 OracleLob

CopyTo(Int64, OracleLob, Int64, Int64)

使用该源偏移量将指定数量的数据从该 OracleLob 复制到目标 OracleLob

CopyTo(OracleLob)

从该 OracleLob 复制到目标 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

参数

destination
OracleLob

目标 OracleLob

返回

已复制的字节数。 这排除了所有已填充的字节。

例外

destination 参数中指定的 OracleLob 为 null。

该操作未处在事务中,OracleLob 对象为 null,或者连接已关闭。

发生了 Oracle 错误。

注解

基础数据类型必须始终相同。 例如,如果要从 NClob进行复制,则目标 OracleLob 也必须是 NClob

如果目标偏移量超出目标 LOB末尾, LOB 则会将数据复制到的 扩展。 末尾LOB与末尾之外的目标偏移之间的空间填充数据类型的BLOB零,数据类型的空格填充和数据类型的CLOBNCLOB空格。

若要写入 到 , LOB必须在 SQL SELECT 语句中使用 FOR UPDATE 子句检索 LOB ,并且必须启动本地事务。

注意

在此版本中,对只读 LOB 的写入操作可能会成功,但不会更新 LOB 服务器上的 。 但是,在这种情况下,将更新 的 LOB 本地副本。 因此,稍后对 OracleLob 对象的读取操作可能会返回写入操作的结果。

在执行复制操作之前, CopyTo 方法不会清除目标 OracleLob 的内容。

适用于

CopyTo(OracleLob, Int64)

将指定数量的数据从该 OracleLob 复制到目标 OracleLob

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

参数

destination
OracleLob

目标 OracleLob

destinationOffset
Int64

要复制到的偏移量。 对于 CLOBNCLOB 数据类型,它必须为偶数字节数。

返回

已复制的字节数。 这排除了所有已填充的字节。

例外

destination 参数中指定的 OracleLob 为 null。

destinationOffset 参数中指定的值小于零,或大于 4 GB。

- 或 -

destinationOffset 参数中为 CLOBNCLOB 数据类型指定的值不是偶数。

- 或 -

必须将 CLOBNCLOB 数据类型指定为偶数字节数。

该操作未处在事务中,OracleLob 对象为 null,或者连接已关闭。

发生了 Oracle 错误。

注解

基础数据类型必须始终相同。 例如,如果要从 NClob进行复制,则目标 OracleLob 也必须是 NClob

如果目标偏移量超出目标 LOB末尾, LOB 则会将数据复制到的 扩展。 结束LOB与目标偏移量超出末尾之间的空间填充数据类型的BLOB零,以及数据类型的NCLOB空格CLOB

若要写入 到 , LOB必须在 SQL SELECT 语句中使用 FOR UPDATE 子句检索 LOB ,并且必须启动本地事务。

注意

在此版本中,对只读 LOB 的写入操作可能会成功,但不会更新 LOB 服务器上的 。 但是,在这种情况下,会更新 的 LOB 本地副本。 因此,稍后对 OracleLob 对象的读取操作可能会返回写入操作的结果。

在执行复制操作之前, CopyTo 方法不会清除目标 OracleLob 的内容。

适用于

CopyTo(Int64, OracleLob, Int64, Int64)

使用该源偏移量将指定数量的数据从该 OracleLob 复制到目标 OracleLob

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

参数

sourceOffset
Int64

要从中复制的偏移量。 对于 CLOBNCLOB 数据类型,它必须为偶数。

destination
OracleLob

目标 OracleLobSystem.Data.OracleClient

destinationOffset
Int64

要复制到的目标偏移量。 对于 CLOBNCLOB 数据类型,它必须为偶数。

amount
Int64

要复制的数据数量(以字节为单位)。 对于 CLOBNCLOB 数据类型,它必须为偶数。

返回

已复制的字节数。 这排除了所有已填充的字节。

例外

destination 参数中指定的 OracleLob 为 null。

amountsourceOffsetdestinationOffset 参数中指定的值小于零,或大于 4 GB。

- 或 -

amountsourceOffsetdestinationOffset 参数中为 CLOBNCLOB 数据类型指定的值不是偶数。

该操作未处在事务中,OracleLob 对象为 null,或者连接已关闭。

发生了 Oracle 错误。

注解

基础数据类型必须始终相同。 例如,如果要从 NClob进行复制,则目标 OracleLob 也必须是 NClob

如果目标偏移量超出目标 LOB末尾, LOB 则会将数据复制到的 扩展。 结束LOB与目标偏移量超出末尾之间的空间填充数据类型的BLOB零,以及数据类型的NCLOB空格CLOB

若要写入 到 , LOB必须在 SQL SELECT 语句中使用 FOR UPDATE 子句检索 LOB ,并且必须启动本地事务。

注意

在此版本中,对只读 LOB 的写入操作可能会成功,但不会更新 LOB 服务器上的 。 但是,在这种情况下,会更新 的 LOB 本地副本。 因此,稍后对 OracleLob 对象的读取操作可能会返回写入操作的结果。

在执行复制操作之前, CopyTo 方法不会清除目标 OracleLob 的内容。

适用于