skip to main content
Getting Started : Advanced Features : Using DataDirect Bulk Load
  
Using DataDirect Bulk Load
All drivers, except the Progress OpenEdge driver and the driver for Apache Hive, support DataDirect Bulk Load, a feature that allows your application to send large numbers of rows of data to a database (or Salesforce instance).
The following tables describe the bulk load behavior for individual drivers.
Table 18. Bulk Load Behavior for DataDirect Connect for JDBC
Driver
Bulk Load Behavior
Oracle1
Microsoft SQL Server2
Sybase
The driver sends the data to the database in a continuous stream instead of numerous smaller database packets. Similar to batch operations, using bulk load improves performance because far fewer network round trips are required. Bulk load bypasses the data parsing usually done by the database, providing an additional performance gain over batch operations.
DB2
Informix
MySQL
PostgreSQL
Because DB2, Informix, MySQL, and PostgreSQL do not have native bulk load support, these drivers emulate bulk load using the standard batch mechanism.
Progress OpenEdge
Not supported

1 Supports bulk load for Oracle9i R2 and higher.

2 Supports bulk load for Microsoft SQL Server 2000 and higher.

Table 19. Bulk Load Behavior for DataDirect Connect XE for JDBC
Driver
Bulk Load Behavior
Driver for Apache Hive
Not supported
Greenplum
Because Greenplum does not have native bulk load support, the driver emulates bulk load using the standard batch mechanism.
Salesforce
The driver sends data to a Salesforce instance using the Salesforce Bulk API instead of the Web Service API. Using the Bulk API significantly reduces the number of Web service calls the driver uses to transfer data and may improve performance.
DataDirect Bulk Load requires a licensed installation of the drivers. If the drivers are installed with an evaluation license, the bulk load feature is available for prototyping with your applications, but with limited scope. Contact your sales representative or DataDirect SupportLink for further information.
Because a bulk load operation may bypass data integrity checks, your application must ensure that the data it is transferring does not violate integrity constraints in the database. For example, suppose you are bulk loading data into a database table and some of that data duplicates data stored as a primary key, which must be unique. The driver will not throw an exception to alert you to the error; your application must provide its own data integrity checks.
For all drivers that support bulk load, you can perform bulk load operations in either of the following ways:
*Create a DDBulkLoad object and use the methods provided by the DDBulkLoad interface in the com.ddtek.jdbc.extensions package for bulk load. You may want to use this method if you are developing a new application that needs to perform bulk load operations. See Using a DDBulkLoad Object.
*Configure the driver to use the bulk load protocol in the database when it encounters a request to execute a batch insert instead of the batch mechanism. This method allows existing applications to take advantage of bulk load without requiring changes to the application code. See Using Bulk Load for Batch Inserts.
In addition, for the Salesforce driver, you can configure the driver to use the bulk load protocol when it encounters a request to execute a single Insert, Update, or Delete statement that affects multiple rows. See Using Bulk Load for Single Inserts/Updates/Deletes (Salesforce Driver).
For details, see the following topics:
* Using a DDBulkLoad Object
* Using Bulk Load for Batch Inserts