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,以及和 NCLOB 數據類型的CLOB空格。

若要寫入 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 已滿。

destinationOffset 參數中所指定的值小於零,或是大於 4 GB。

-或-

CLOBNCLOB 資料型別的 destinationOffset 參數中指定的值不是偶數。

-或-

您必須將 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 已滿。

amountsourceOffsetdestinationOffset 參數中所指定的值小於零,或是大於 4 GB。

-或-

CLOBNCLOB 資料型別的 amountsourceOffsetdestinationOffset 參數中指定的值不是偶數。

作業不在交易中、OracleLob 物件為 null,或是連接已關閉。

發生 Oracle 錯誤。

備註

基礎數據類型必須一律相同。 例如,如果您要從 NClob複製 ,目的地 OracleLob 也必須是 NClob

如果目的地位移超出目的地 LOB的結尾, LOB 則會擴充要複製資料的 。 結尾與目的地位移之間的間距超出結尾LOB,會填補數據類型的零BLOB,以及和 NCLOB 數據類型的CLOB空格。

若要寫入 LOB至 ,您必須已在 SQL SELECT 語句中使用 FOR UPDATE 子句擷取 LOB ,而且必須啟動本機交易。

注意

這個版本中,唯讀 LOB 的寫入作業可能會成功,但不會更新 LOB 伺服器上的 。 不過,在此情況下,會更新 的 LOB 本機複本。 因此,物件上的 OracleLob 稍後讀取作業可能會傳回寫入作業的結果。

方法 CopyTo 在執行複製作業之前,不會清除目的地 OracleLob 的內容。

適用於