OracleLob.BeginBatch 方法

定義

防止在執行多重寫入作業時引發伺服器端觸發程序。

多載

BeginBatch()

防止在執行多重讀取作業時引發伺服器端觸發程序。

BeginBatch(OracleLobOpenMode)

以指定的存取模式執行多重讀取和寫入作業時,防止引發伺服器端觸發程序。

BeginBatch()

防止在執行多重讀取作業時引發伺服器端觸發程序。

public:
 void BeginBatch();
public void BeginBatch ();
member this.BeginBatch : unit -> unit
Public Sub BeginBatch ()

例外狀況

連接關閉。

物件已關閉或處置。

發生 Oracle 錯誤。

備註

LOB在模式中ReadOnly開啟 ,因此,LOB只有在對應的呼叫EndBatch之前,才能讀取 ,而不會寫入 。 若要對 執行批次寫入LOB,請使用 ReadWrite呼叫 BeginBatch

在相同交易內呼叫 BeginBatch 一次以上時,目前會擲回 Oracle “ORA-22293:LOB 已在相同交易中開啟” 錯誤。 此外,如果您使用另一個 OracleDataReader取得 LOB ,而且原始呼叫端尚未呼叫 EndBatch 方法,則會產生相同的錯誤。 因此,當您完成使用 OracleLob時,必須呼叫 EndBatch 方法。

適用於

BeginBatch(OracleLobOpenMode)

以指定的存取模式執行多重讀取和寫入作業時,防止引發伺服器端觸發程序。

public:
 void BeginBatch(System::Data::OracleClient::OracleLobOpenMode mode);
public void BeginBatch (System.Data.OracleClient.OracleLobOpenMode mode);
member this.BeginBatch : System.Data.OracleClient.OracleLobOpenMode -> unit
Public Sub BeginBatch (mode As OracleLobOpenMode)

參數

mode
OracleLobOpenMode

模式 (其中一個 OracleLobOpenMode 值),在這個 BeginBatch(OracleLobOpenMode) 呼叫和對應的 EndBatch() 呼叫之間可以存取 LOB

例外狀況

連接關閉。

物件已關閉或處置。

發生 Oracle 錯誤。

備註

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

在相同交易內呼叫 BeginBatch 一次以上時,目前會擲回 Oracle “ORA-22293:LOB 已在相同交易中開啟” 錯誤。 此外,如果您使用另一個 OracleDataReader取得 LOB ,而且原始呼叫端尚未呼叫 EndBatch 方法,則會產生相同的錯誤。 因此,當您完成使用 OracleLob時,必須呼叫 EndBatch 方法。

適用於