Powered by Zoomin Software. For more details please contactZoomin

DataDirect JDBC ReadMe

Salesforce JDBC 6.0.0

  • Last Updated: May 8, 2026
  • 13 minute read
    • OpenAccess SDK
    • Documentation

     README
     Progress(R) DataDirect(R) 
     Progress(R) DataDirect(R) for JDBC(TM) for Salesforce(TM) Driver
     Release 6.0.0
     February 2026


***********************************************************************
Copyright (C) 2026 Progress Software Corporation and/or its 
subsidiaries or affiliates. All Rights Reserved.
  
***********************************************************************


CONTENTS

Post-GA Product Announcements
Requirements
Installation Directory
Data Source and Platform Support 
Changes since 6.0.0
Release 6.0.0 Features
Notes, Known Problems, and Restrictions
Documentation
Installed Files


     Post-GA Product Announcements
The readme files will no longer be updated with product announcements and new 
features after the General Availability (GA) of the product. For the latest 
updates and enhancements, please refer to the release notes 
(https://www.progress.com/datadirect-connectors/whats-new).


     Requirements

* A supported Java Virtual Machine (JVM) must be defined on your system path.

* The installer program requires a JVM that is Java SE 11 or higher, including
  Oracle JDK, OpenJDK, and IBM SDK (Java) distributions.
  
* The driver requires a JVM that is Java SE 8 or higher, including Oracle JDK,
  OpenJDK, and IBM SDK (Java) distributions.



     Installation Directory

The default installation directory for the driver is:

* Windows:
  C:\Program Files\Progress\DataDirect\JDBC

* UNIX/Linux:
  /opt/Progress/DataDirect/JDBC
  Note: For UNIX/Linux, if you do not have access to "/opt", your user's home
  directory will take the place of this directory.


    Data Source and Platform Support

For the latest data source and platform support information, refer to the 
Product Compatibility Guide: 
https://docs.progress.com/bundle/datadirect-product-compatibility/resource/
datadirect-product-compatibility.pdf   


    Changes since 6.0.0

CVE-2022-41853 - Use of Externally-Controlled Input to Select Classes or Code
('Unsafe Reflection')
-----------------------------------------------------------------------------
Several Progress DataDirect JDBC drivers utilized a version of HyperSQL
Database that was vulnerable to remote code execution described in
CVE-2022-41853. All impacted drivers have been patched to fix this
vulnerability. For details on impacted drivers and fixed versions, refer to
the following KB article:
https://community.progress.com/s/article/DataDirect-JDBC-Critical-Security-
Bulletin-November-2022-CVE-2022-41853

Documentation
-------------
Any product package made available after August 7, 2020 will not include the
HTML help system or user's guide PDF. The full documentation set, including
these items, is available from the Progress Information Hub:
https://docs.progress.com/category/datadirect-salesforce

While the product packages will not include these documentation items, the
installation Help directory will provide an HTML redirect for direct access
to the HTML help.

Note that all Progress DataDirect for JDBC documentation has been migrated to
the Progress Information Hub:
https://docs.progress.com/

Enhancements
------------
* The driver has been enhanced to comply with FIPS standards for data
  encryption. As part of this enhancement, the driver was tested with
  FIPS 140-3 enabled using a Red Hat OpenJDK 21 on a Red Hat Universal Base
  Image 9 instance.


* The driver has been enhanced to allow you to specify the time zone to 
  be used when translating data store time and timestamp values between 
  the client and driver. You can configure this behavior using the new 
  ClientTimeZone connection property. For details, refer to the user's
  guide.

* The InValuesLimit connection property has been added to the driver. It 
  determines the maximum number of values in an IN clause subquery to be 
  materialized. If this value is exceeded, the driver processes the subquery 
  as a JOIN clause. You can use this property if your query exceeds the 
  maximum SOQL length set by Salesforce.

* The driver has been enhanced to support the JSON web token (JWT) grant 
  in OAuth 2.0 authentication. The connection properties JWTCertAlias, 
  JWTCertStore, JWTCertPassword, ClaimsIssuer, and ClaimsSubject have been 
  added to the driver. 
  
  Feature details:
  - Available: Driver version 6.0.0.002316 (C5325.F001946.U001044)
  - Proposed by the following DataDirect Idea: 
    https://progresssoftware.aha.io/features/DDIDEAS-2764

* The driver has been enhanced to use proxy server settings defined in the JVM 
  system properties by default. If no proxy settings are defined in the 
  connection string or data source, the driver will attempt to use the values 
  of the http.proxyHost and http.proxyPort JVM system properties to connect 
  to the database.

* The driver has been enhanced to support the Salesforce Bulk API V2 for bulk 
  load operations. This functionality can be enabled and configured using the 
  new BulkLoadVersion and BulkLoadJobSize connection properties.

* The ApplyToLabel connection property has been added to the driver. 
  It determines whether the driver applies the toLabel() function to 
  the picklist fields when executing queries.

* Due to path length restrictions in certain environments, the driver has been
  updated to limit the length of the schema map configuration file to a maximum
  of 30 characters. If the specified or default file name exceeds 30 
  characters, at connection, the driver generates a file using a name that is a
  concatenation of the first 15 and last 15 characters of the specified/default
  file name. Note that you can specify the name of schema map configuration 
  file using the SchemaMap property, while the default file name generated 
  based on the value of the User property.

* The driver has been enhanced to include timestamp in the Spy and JDBC packet
  logs by default. If required, you can disable the timestamp logging by 
  specifying the following at connection: For Spy logs, set 
  spyAttributes=(log=(file)Spy.log;timestamp=no) and for JDBC packet logs,
  set ddtdbg.ProtocolTraceShowTime=false.

* Interactive SQL for JDBC (JDBCISQL) is now installed with the product. 
  JDBCISQL is a command-line interface that supports connecting your driver
  to a data source, executing SQL statements and retrieving results in a 
  terminal. This tool provides a method to quickly test your drivers in 
  an environment that does not support GUIs.

* Connection properties that accept boolean values have been refreshed to 
  support yes, no, on and off as valid values.

* The driver has been enhanced to support OAuth 2.0, which is an open 
  protocol for token-based authentication. OAuth 2.0 allows you to 
  authenticate without specifying a user ID or password, eliminating
  the risk of exposing them to unauthorized access.

Changed Behavior 
----------------
* The connection property SpyAttributes has been updated to exclude the 
  attribute load=classname, which was previously used to load the driver 
  specified by the given class name. See SpyAttributes for details.
  
* The installer program now requires you to install a JRE that is Java SE 11 or
  higher before running the installer. In earlier versions, the JRE used by the
  installer program was included in the product. However, to avoid potential
  security vulnerabilities, the installer program no longer includes a JRE.
  Instead, the installer program uses the JRE in your environment to allow for
  the most secure version of a JRE to be used.
 
  Note: This change does not affect the JVM requirements for the driver. For the latest 
  driver requirements, refer to the Product Compatibility Guide:
  https://docs.progress.com/bundle/datadirect-product-compatibility/resource/
  datadirect-product-compatibility.pdf


* The driver has been enhanced to make SOAP API calls using only internal 
  components. In earlier versions, the driver used an external library, 
  the CXF library, to make these calls.  Note that the product package no 
  longer includes the CXF library as a result.

  Driver version: 6.0.0.002468 (C5674.F002043.U001091)

* The driver has been updated to require a Java Virtual Machine (JVM) that 
  is Java SE 8 or higher, including Oracle JDK, OpenJDK, and IBM SDK (Java)
  distributions.

  Java SE 7 has reached the end of its product life cycle and will no longer 
  receive generally available security updates. As a result, the drivers will 
  no longer support JVMs that are version Java SE 7 or earlier. Support for 
  distributed versions of Java SE 7 and earlier will also end, including
  IBM SDK (Java Edition).  

* The ConfigOptions connection option has been deprecated. As a result, the 
  driver has been enhanced to support setting each of the configuration options
  supported by ConfigOptions as a standalone connection option. Although the 
  driver will continue to support ConfigOptions until the next major release of
  the driver, in anticipation of this change, we recommend updating your data 
  sources and connection URL strings to set configuration options as standalone
  connection options.

* The precision for the Integer data type has been changed from 10 to 9.

* The NUM_PREC_RADIX value for the Double data type has been changed from
  10 to 2.


    Release 6.0.0 Features

The driver supports standard SQL query language to select, insert, update, and
delete data from Salesforce.com and other Web service data stores that use the
Salesforce API such as Force.com, Database.com, and Veeva CRM. To support SQL
access to Salesforce, the driver creates a map of the Salesforce data model and
translates SQL statements provided by the application to Salesforce queries
(SOQL) and Web service calls. In addition, the driver supports multiple
simultaneous sessions.

* The driver supports the Salesforce API.

* The driver supports all JDBC Core functions.

* The driver supports the core SQL-92 grammar.

* The driver supports a client-side data cache.

* The driver supports proxy server connectivity.

Data Source Class
-----------------
Data source class com.ddtek.jdbcx.sforce.SForceDataSource40 is no longer 
supported. The data source class com.ddtek.jdbcx.sforce.SForceDataSource
should be used for data source connections. The data source class
com.ddtek.jdbcx.sforce.SForceDataSource now supports all JDBC specifications.

Bulk Fetch
----------
The driver has been enhanced to support the Salesforce Bulk API, including PK
chunking, for bulk fetch operations. This functionality can be enabled and
configured with the EnableBulkFetch, BulkFetchThreshold, EnablePKChunking, and
PKChunkSize connection properties.

Multiple Simultaneous Sessions
------------------------------
The driver has been enhanced to support multiple simultaneous sessions. The
number of active sessions should not exceed the number permitted by your
Salesforce account and can be limited by the setting of the WSPoolSize
connection property.

WSPoolSize Connection Property
------------------------------
The new WSPoolSize connection property allows you to specify the maximum number
of sessions the driver uses. This allows the driver to have multiple Web service
requests active simultaneously when multiple JDBC connections are open, thereby
improving throughput and performance.

DatabaseName and SchemaMap Connection Properties
------------------------------------------------
The DatabaseName property has been deprecated. The SchemaMap property should now
be used to specify the fully qualified path of the configuration file where the
map of the Salesforce data model is written.

CreateDB, RefreshSchema, and CreateMap Connection Properties
------------------------------------------------------------
The CreateDB and RefreshSchema properties have been deprecated. The CreateMap
property should now be used to specify whether the driver creates a new schema
map when establishing the connection.

EnableBulkLoad Connection Property
----------------------------------
The default value of the EnableBulkLoad connection property has been updated to
true. By default, the Salesforce Bulk API can be used for inserts, updates, 
and deletes based on the BulkLoadThreshold property.

StmtCallLimit Connection Property
---------------------------------
The default value for the StmtCallLimit connection property has been updated to
100. By default, the driver can make a maximum of 100 Web service calls when
executing any single SQL statement or metadata query.

RefreshDirtyCache Connection Property
-------------------------------------
The RefreshDirtyCache property has been deprecated. Now, for every fetch
operation, the driver refreshes the cached object to pick up changes made to
tables and rows.

CURRENCY and PERCENTAGE Data Types
----------------------------------
The native CURRENCY and PERCENTAGE data types now map to the DECIMAL JDBC data
type. In earlier releases, these data types mapped to the DOUBLE data type. 

AuditColumns Configuration Option
---------------------------------
The default value for the AuditColumns configuration option has been updated to
all (AuditColumns=all). By default, the driver includes all of the audit columns
and the master record id column in its table definitions.

CustomSuffix Configuration Option
---------------------------------
The default value for the CustomSuffix configuration option has been updated to
include (CustomSuffix=include). By default, the driver includes the "__c" suffix
table and column names when mapping the Salesforce data model.

MapSystemColumnName Configuration Option
----------------------------------------
The default value for the MapSystemColumnName configuration option has been
updated to 0 (MapSystemColumnNames=0). By default, the driver does not change
the names of the Salesforce system columns when mapping the Salesforce data
model.

Refresh Map SQL Extension
-------------------------
The REFRESH MAP command has been added to the driver. REFRESH MAP discovers
native objects that have been added to the native data store since connection
or since the last refresh and maps the objects into your relational view of
native data. It also incorporates any configuration changes made to your
relational view by reloading the schema map and associated files. REFRESH MAP
is an expensive query since it involves the discovery of native data.

Bulk Load Licensing
-------------------
Bulk load operations are no longer restricted to 10,000 rows for evaluation
installations of the driver.


    Notes, Known Problems, and Restrictions

The following are notes, known problems, and restrictions with Release 6.0.0 of
the driver.

Using the INSERT INTO SELECT Statement with Bulk API V2
-------------------------------------------------------
When Salesforce Bulk API version is set to V2, the driver does not support 
INSERT INTO SELECT statements and an exception is thrown. For example:

Insert into TestTable(COL_1,COL_2,COL_3) select COL_1,COL_2,COL_3 
from TempTable

API Consumption with Correlated Subqueries
------------------------------------------
For executing correlated subqueries, the current version of the driver requires 
more API calls than those that were required by the previous version.

If the total number of API calls required to complete the execution of a 
correlated subquery is more than the StmtCallLimit set for the connection, 
the driver returns the following error:

"Query Aborted! This query involves correlated subquery. Its execution might
take more than <number> API calls, which is higher than stmtcalllimit for this 
connection. Please set the stmtcallLimit to more than <number> to execute this
query."

This will prevent you from exhausting the Salesforce daily API call limit. 
If you are comfortable with the query taking large number of API calls and want
the execution of the correlated subquery to complete, you can increase the 
StmtCallLimit value and retry.

Compatibility Guidance
----------------------
In addition to the information in this readme, refer to the following
compatibility FAQ for guidance on upgrading from the Progress DataDirect for
JDBC for Salesforce 5.1 driver to 6.0 driver:
https://documentation.progress.com/output/DataDirect/collateral/
jdbc_salesforce_faq.pdf

SQL Engine Upgrade
------------------
The driver's SQL engine has been upgraded. Consequently, there are some
differences in how the 6.0 driver handles SQL queries compared to previous
versions of the driver. For details, see the following resources:

* "Supported SQL Statements and Extensions" in the user's guide

* https://documentation.progress.com/output/DataDirect/collateral/
  jdbc_sqlengine_salesforce.pdf

Executing SQL Queries
---------------------
The 6.0 driver pushes SQL queries to Salesforce whenever possible. Queries
that cannot be pushed down may be slower than comparable queries made with
previous versions of the driver because data may be paged to disk while
completing an operation. If you experience slow performance, please contact
Technical Support: https://www.progress.com/support-and-services. Our team will
quickly address any performance issues you encounter.

Foreign key columns
-------------------
In the 6.0 version of the driver, foreign key columns are not shown as indexes.
However, in previous versions of the driver, foreign key columns are shown as
non-unique indexes.

Using the SELECT...INTO Statement
---------------------------------
The SELECT...INTO statement is supported for local tables only. The source and
destination tables must both be local tables. Creating remote tables in
Salesforce or loading from remote Salesforce tables using SELECT...INTO is not
supported. Additionally, the option to create the destination table as a
temporary table does not currently work.

Stored Procedures Not Supported for Database.com
------------------------------------------------
The driver incorrectly reports that it supports stored procedures for
Database.com (for example, using DatabaseMetadata.supportsStoredProcedures()).
Stored procedures for Database.com are not supported.

JTA Support
-----------
JDBC distributed transactions through JTA are not supported.

oplog.rs system table
---------------------
The driver hides the oplog.rs system table.

Executing DataDirect Shell Script
---------------------------------
For UNIX/Linux users: If you receive an error message when executing any
DataDirect for JDBC shell script, make sure that the file has EXECUTE
permission. To do this, use the chmod command. For example, to grant EXECUTE
permission to the testforjdbc.sh file, change to the directory containing
testforjdbc.sh and enter: chmod +x testforjdbc.sh

JDBC Methods
------------
The following notes on JDBC methods apply generally to Progress DataDirect for
JDBC drivers. Additional information on driver support for the JDBC API can be
found in the "JDBC Support" section of the product user's guide.

* When attempting to create an updatable, scroll-sensitive result set for a
  query that contains an expression as one of the columns, the driver cannot
  satisfy the scroll-sensitive request. The driver downgrades the type of the
  result returned to scroll-insensitive.

* The ResultSet methods getTimestamp(), getDate(), and getTime() return
  references to mutable objects. If the object reference returned from any of
  these methods is modified, re-fetching the column using the same method
  returns the modified value. The value is only modified in memory; the
  database value is not modified.

Uninstalling on Windows
-----------------------
When you connect with the Salesforce driver, the driver creates multiple local
Salesforce files in the <install_dir>\testforjdbc subdirectory, where
<install_dir> is your product installation directory. If you connect using the
default Salesforce driver URL jdbc:datadirect:sforce://login.salesforce.com,
the names of these files are associated with your user name. For example, if
your user name is test01@xyz.com, the local Salesforce files that are created 
would be:

<install_dir>\testforjdbc\ddsforce.log
<install_dir>\testforjdbc\test01.app.log
<install_dir>\testforjdbc\test01.config
<install_dir>\testforjdbc\test01.log
<install_dir>\testforjdbc\test01.properties
<install_dir>\testforjdbc\test01.SFORCE.map
<install_dir>\testforjdbc\test01.SFORCE.native
  
When you run the Windows uninstaller, these files are not removed. You can
explicitly delete them.

  
     Documentation       

PROGRESS DATADIRECT FOR JDBC FOR SALESFORCE DOCUMENTATION SET
-------------------------------------------------------------
The driver documentation set is available from the Progress Information Hub:

https://docs.progress.com/category/datadirect-salesforce

You can access the online help system directly via the HTML redirect in the
installation Help directory.


     Installed Files

When you extract the contents of the installation download package to your
installer directory, you will notice the following files that are required to
install the driver:

*  Windows:
   - PROGRESS_DATADIRECT_JDBC_INSTALL.exe
   - DriverModules
     - PROGRESS_DATADIRECT_JDBC_SALESFORCE_6.0.0_INSTALL.iam.zip
     - PROGRESS_DATADIRECT_JDBC_COMMON_6.0.0_INSTALL.iam.zip

*  Non-Windows:
   - PROGRESS_DATADIRECT_JDBC_INSTALL.jar
   - DriverModules
     - PROGRESS_DATADIRECT_JDBC_SALESFORCE_6.0.0_INSTALL.iam.zip
     - PROGRESS_DATADIRECT_JDBC_COMMON_6.0.0_INSTALL.iam.zip

When you install the driver, the installer creates the following directories and
files in the product installation directory in the default installation
directory or in an installation directory you specify, represented by
INSTALL_DIR.


INSTALL_DIR/:
-------------
LicenseTool.jar            Product license file manager

ddprocinfo.exe             Windows executable to start the Processor Information
                           Utility

ddprocinfo                 UNIX/Linux script to start the Processor Information
                           Utility


INSTALL_DIR/Examples/Bulk/:
---------------------------
Load From File/bulkLoadFileDemo.java
                           Java source example for bulk loading from a CSV file

Load From File/load.txt    Sample data for the example

Streaming/bulkLoadStreamingDemo.java
                           Java source example for bulk loading from a result
                           set

Threaded Streaming/bulkLoadThreadedStreamingDemo.java
                           Java source example for multi-threaded bulk loading
                           from a result set

Threaded Streaming/README.txt
                           Instructions on how to use the thread.properties file

Threaded Streaming/thread.properties
                           Properties file for the example


INSTALL_DIR/Examples/Connector/:
--------------------------------
ConnectorSample.ear        J2EE Application Enterprise Archive file containing
                           the ConnectorSample application 

connectorsample.htm        USING DATADIRECT CONNECT FOR JDBC RESOURCE ADAPTERS
                           document

graphics/*.*               Images referenced by the USING DATADIRECT CONNECT FOR
                           JDBC RESOURCE ADAPTERS document

src/ConnectorSample.jsp    Source for the JavaServer Page used to access the
                           ConnectorSample application

src/connectorsample/ConnectorSample.java     
                           Java source file defining the remote interface for
                           the ConnectorSample EJB

src/connectorsample/ConnectorSampleBean.java  
                           Java source file defining the home interface for the
                           ConnectorSample EJB

src/connectorsample/ConnectorSampleHome.java  
                           Java source file containing the implementation for
                           the ConnectorSample EJB


INSTALL_DIR/Examples/JNDI/:
---------------------------
JNDI_FILESYSTEM_Example.java
                           Example Java(TM) source file

JNDI_LDAP_Example.java     Example Java source file


INSTALL_DIR/Examples/SforceSamples/:
------------------------------------
buildsamples.bat           Batch file to build the Salesforce example

buildsamples.sh            Shell script to build the Salesforce example
 
ddlogging.properties       Logging properties file

runsalesforceconnectsample.bat
                           Batch file to run the Salesforce example

runsalesforceconnectsample.sh
                           Shell script to run the Salesforce example

bin/com/ddtek/jdbc/samples/SalesforceConnectSample.class
                           Java example class

bin/com/ddtek/jdbc/samples/SampleException.class
                           Java example class

src/com/ddtek/jdbc/samples/SalesforceConnectSample.java
                           Java source example


INSTALL_DIR/help/: 
------------------
*.html                     HTML redirects to driver help systems


INSTALL_DIR/install/: 
---------------------
.psc_dd_inst_reg.xml       Support file for the installation logs

logs/*.*                   Log file generated upon installation


INSTALL_DIR/jdbcisql/:
----------------------
jdbcisql.bat               Batch file to start JDBC iSQL

jdbcisql.jar               Java program to start JDBC iSQL

jdbcisql.sh                Shell script to start JDBC iSQL


INSTALL_DIR/lib/60/:
--------------------
sforce.jar                 Salesforce Driver and DataSource classes


INSTALL_DIR/NOTICES/:
---------------------
JDBC for Salesforce v6.0 notices.txt
                           Third party agreement information


INSTALL_DIR/pool manager/:
--------------------------
pool.jar                   All DataDirect Connection Pool Manager classes


INSTALL_DIR/READMES/:
---------------------
JDBC for Salesforce v6.0 readme.txt
                           This file


INSTALL_DIR/testforjdbc/:
-------------------------
Config.txt                 Configuration file for DataDirect Test

ddlogging.properties       Logging properties file

testforjdbc.bat            Batch file to start DataDirect Test

testforjdbc.sh             Shell script to start DataDirect Test

lib/testforjdbc.jar        DataDirect Test classes


INSTALL_DIR/uninstall/:
-----------------------
.com.zerog.registry.xml    Support file for the uninstaller

.psc_dd_uninst_reg.xml     Support file for the uninstaller

InstallScript.iap_xml      Support file for the uninstaller

installvariables.properties
                           Support file for the Windows uninstaller

Uninstall_JDBC.exe         Windows uninstaller

Uninstall_JDBC.lax         Support file for the Windows uninstaller

uninstaller.jar            Java uninstaller

resource/*.*               Resource files for the Windows uninstaller


February 2026
================
End of README

TitleResults for “How to create a CRG?”Also Available inAlert