JDBC Driver for Oracle Sales

Build 24.0.9062

バッチ処理

CData JDBC Driver for Oracle Sales では、JDBC batch API を通じて、Oracle Sales の一括ロードサポートを活用することができます。batch API を使用して、関連するSQL データ操作ステートメントを同時に実行できます。

JDBC Batch API の使用

次の例は、PreparedStatement を使用して一括操作を実行する方法を示しています。

一括挿入

PreparedStatement を使用して一括挿入を実行するには、一括挿入の一部として実行するパラメータのセットごとにaddBatch を呼び出します。すべてのパラメータのセットをバッチに追加したら、executeBatch を呼び出して一括挿入を実行できます。

executeBatch メソッドは、各ステートメントの更新数を含む配列を返します。次に例を示します。

String query = "INSERT INTO Opportunities (Name) VALUES (?)"; 
PreparedStatement pstmt = conn.prepareStatement(query);

pstmt.setString(1, "Commercial Oppty"); 
pstmt.addBatch();

pstmt.setString(1, "Residential Oppty"); 
pstmt.addBatch();

int[] r = pstmt.executeBatch();
for(int i: r)
  System.out.println(i);

一括更新

PreparedStatement を使用して一括更新を実行するには、一括更新の一部として実行するパラメータのセットごとにaddBatch を呼び出します。すべてのパラメータのセットをバッチに追加したら、executeBatch を呼び出します。

executeBatch メソッドは、配列内の各ステートメントの更新数を返します。次に例を示します。

String query = "UPDATE Opportunities SET Name = ? WHERE Id = ?"; 
PreparedStatement pstmt = conn.prepareStatement(query);

pstmt.setString(1,"Commercial Oppty");
pstmt.setString(2,"MyId"); 
pstmt.addBatch();		

pstmt.setString(1,"Residential Oppty");
pstmt.setString(2,"MyId2"); 
pstmt.addBatch();		

int[] r = pstmt.executeBatch();
for(int i: r)
  System.out.println(i);

一括削除

PreparedStatement を使用して一括削除を実行するには、一括削除の一部として実行するパラメータのセットごとにaddBatch を呼び出します。すべてのパラメータのセットをバッチに追加したら、executeBatch を呼び出します。

executeBatch メソッドは、配列内の各ステートメントの更新数を返します。次に例を示します。

String query = "DELETE FROM Opportunities WHERE Id = ?";
PreparedStatement pstmt = conn.prepareStatement(query);

pstmt.setString(1,"MyId1"); 
pstmt.addBatch();		

pstmt.setString(1,"MyId2");
pstmt.addBatch();		

int[] r = pstmt.executeBatch();
for(int i: r)
  System.out.println(i);

バッチサイズの設定

サーバーに送信されるリクエストのサイズに制限がある場合は、バッチサイズの最大値を設定する必要があります。BatchSize プロパティを設定して、バッチ全体を指定された値のバッチに分割します。各バッチは、個別にサーバーに送信されます。

または、BatchSize を0 に設定して、バッチ全体を送信します。

Copyright (c) 2024 CData Software, Inc. - All rights reserved.
Build 24.0.9062