The driver supports DataDirect bulk load. Bulk load connection options are located on the Bulk tab of the driver Setup dialog box. 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.
See “Using DataDirect Bulk Load” for a general description of DataDirect bulk load and its implementation.
The Salesforce driver can use the DataDirect functions LoadTableFromFile (for an ANSI application) and LoadTablefromFileW (for a Unicode application) to support mapping of the column names defined in the input file to columns defined in the Salesforce table.
To take advantage of this feature, create a list of columns that are not auto-generated by Salesforce and specify a string argument of the format:
By default, the driver requires a one-to-one mapping of the columns defined in the input file to the columns defined in the Salesforce table. Because Salesforce tables contain several auto-generated key columns, it is not possible to achieve the required one-to-one mapping. Use only columns that were
not auto-generated in the column list for which the data file defines the data that you want to load.
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 many rows. When the EnableBulkLoad connection option is set to true, the Salesforce driver uses the Salesforce Bulk API for single Insert, Update, and Delete statements if the number of rows affected by the operation exceeds the threshold set by the BulkLoadThreshold connection option.
For example, if you set the EnableBulkLoad connection option to true and the BulkLoadThreshold connection option to 2000, executing the following statement would use the Bulk API if the number of rows returned by
SELECT rowid, sys_name FROM account is more than 2000 rows.