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