OracleLob.BeginBatch 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
防止在執行多重寫入作業時引發伺服器端觸發程序。
多載
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 方法。