Oracle JDBC 6.0.0
- Last Updated: May 8, 2026
- 12 minute read
- OpenAccess SDK
- Documentation
README
Progress(R) DataDirect(R)
Progress(R) DataDirect(R) for JDBC(TM) for Oracle(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
Progress DataDirect for JDBC for Oracle Driver
Changes since 6.0.0
Release 6.0.0 Features
Notes, Known Problems, and Restrictions
Documentation
Installed Files
Third Party Acknowledgments
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
Progress DataDirect for JDBC for Oracle Driver
The driver supports the JDBC API for SQL read-write access to Oracle Database,
Oracle Autonomous Data Warehouse Cloud, Oracle Database Exadata Cloud Service,
and Oracle Database Cloud Service.
* The driver supports all JDBC Core functions.
* The driver supports the core SQL-92 grammar.
Changes since 6.0.0
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-oracle
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 support both unencrypted and encrypted
connections to the LDAP server. After connecting to the LDAP server, the
driver retrieves the necessary connection details from it and then connects
to the database server. Refer to the user's guide for details.
Feature Details:
- Available: Driver version 6.0.0.001776 (F003210.U002087)
- Proposed by the following DataDirect Idea:
https://datadirect.ideas.aha.io/ideas/CONN-I-1564
* The driver has been enhanced to support User Impersonation with the new
ImpersonateUser and ImpersonateUserPassword connection properties. Refer to
the user's guide for details.
* 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 support access token authentication
for Microsoft Entra ID (Azure Active Directory) resources. You can
configure this authentication using the updated AuthenticationMethod
and EntraAccessToken connection properties. Refer to the user's guide
for details.
* The driver has been enhanced to support the TLSv1.3 cryptographic protocol
using the CryptoProtocolVersion connection property. Refer to the user's
guide for details.
* 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 PadNumberFieldsToScale connection property has been added to the driver.
It determines whether the driver pads Number values with zeroes after the
decimal to match the scale of their fields when returning them.
* 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.
* The driver has been enhanced to support using connection information stored
in an LDAP entry to establish a connection. You can configure the driver to
use LDAP with the new LDAPDistinguishedName property and refreshed ServerName
and PortNumber properties.
* The driver has been enhanced to support connecting through Oracle Connection
Manager using the tnsnames.ora file. Refer to the user's guide for details.
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
* 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).
Release 6.0.0 Features
Enhancements
------------
* The driver has been enhanced to support connecting through Oracle Connection
Manager using the tnsnames.ora file. Refer to the user's guide for details.
* The version of Bouncy Castle that ships with the driver has been upgraded to
1.60, which fixes the following security vulnerabilities:
- CVE-2018-1000613
- CVE-2018-1000180
- CVE-2017-13098
This upgrade is available starting in build 6.0.0.000032 of the driver. For
more information on the vulnerabilities resolved by this upgrade, refer
to https://nvd.nist.gov/.
* The BatchMechanism connection property has been added to the driver.
It determines the mechanism that is used for executing batch operations.
It's a flexible replacement for BatchPerformanceWorkaround property.
Therefore, if you use BatchPerformanceWorkaround for specifying the
batch mechanism instead of BatchMechanism, the driver will allow it.
If you use both BatchMechanism and BatchPerformanceWorkaround
simultaneously, BatchMechanism will take precedence over
BatchPerformanceWorkaround.
* The driver has been enhanced to support Kerberos constrained delegation.
Constrained delegation is a Kerberos mechanism that allows a client
application to delegate authentication to a second service.
* The GSSCredential connection property has been added to the driver.
It specifies the GSS credential object used to instantiate Kerberos
constrained delegation.
* The driver has been enhanced to support returning implicit result sets
from stored procedures.
* The driver has been enhanced to use Oracle Internet Directory as
a means to store authentication information.
* The driver has been enhanced to support Oracle Wallet SSL
authentication introduced in Oracle 11.1.0.6. The AuthenticationMethod
connection property should be set to either SSL or SSLUIDPassword to allow
SSL authentication when connecting with the driver.
* The driver has been enhanced to support the following new data
integrity algorithms for Oracle 12c and higher:
- SHA256
- SHA384
- SHA512
* The maximum supported length of identifiers has been increased to 128
bytes when connecting to Oracle 12c R2 (12.2) databases. This change
has been implemented to reflect the new maximum length supported by
the server.
* The driver has been enhanced to support the extended data types.
When the Oracle server is configured with MAX_STRING_SIZE=EXTENDED,
the driver supports the following maximum string sizes:
- NVARCHAR2: 32766 bytes
- RAW: 32767 bytes
- VARCHAR2: 32767 bytes
* The driver has been enhanced to support Oracle Database Exadata Cloud
Service.
* The LOBPrefetchSize connection property has been added to the driver and is
supported for Oracle database versions 12.1.0.1 and higher. This connection
property allows you to specify the size of prefetch data the driver returns
for BLOBs and CLOBs. With LOB prefetch enabled, the driver can return LOB
meta-data and the beginning of LOB data along with the LOB locator during a
fetch operation. This can have significant performance impact, especially for
small LOBs which can potentially be entirely prefetched, because the data is
available without having to go through the LOB protocol.
* The RegisterStatementPoolMonitorMBean connection property has been added to
the driver. Note that the driver no longer registers the Statement Pool
Monitor as a JMX MBean by default. You must set
RegisterStatementPoolMonitorMBean to true to register the Statement Pool
Monitor and manage statement pooling with standard JMX API calls.
* The default value for the SDUSize property has been updated to 16384.
* The default value for the DataIntegrityLevel property has been updated to
accepted.
* The default value for the EncryptionLevel property has been updated to
accepted.
* The driver no longer sets the java.security.krb5.conf system property to
force the use of the krb5.conf file installed with the driver jar files in
the /lib directory of the product installation directory.
* The WireProtocolMode connection property has been deprecated.
Notes, Known Problems, and Restrictions
The following are notes, known problems, and restrictions with the 6.0.0
release of the driver.
Oracle 12c Server Issues
------------------------
The following issues were discovered during certification with Oracle 12c.
* When using the DataIntegrity (checksums) Oracle Advanced Security feature
with Oracle 12c, the server may unexpectedly drop the connection with the
driver. This server issue has been reported to Oracle: SR 3-7971196511.
* The newPassword connection property is only supported when connecting to an
Oracle server earlier than Oracle 12c. If the newPassword connection property
is specified when attempting to connect to an Oracle 12c server, the driver
throws a "No Matching Authentication Protocol" exception.
Using Bulk Load
---------------
For the best performance when using the bulk load protocol against Oracle, an
application can specify "enableBulkLoad=true" and perform its batches of
parameterized inserts within a manual transaction. Using the bulk load protocol
can impact the behavior of the driver. The application should do nothing else
within the transaction. If another operation is performed BEFORE the inserts,
the driver is unable to use the bulk load protocol and will choose a different
approach. If some other "execute" is performed AFTER the inserts, the driver
throws the following exception:
An execute operation is not allowed at this time, due to unfinished
bulk loads. Please perform a "commit" or "rollback".
Executing Scripts (for UNIX 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.
* The driver allows PreparedStatement.setXXX methods and ResultSet.getXXX
methods on Blob/Clob data types, in addition to the functionality described
in the JDBC specification. The supported conversions typically are the same
as those for LONGVARBINARY/LONGVARCHAR, except where limited by database
support.
* Calling CallableStatement.registerOutputParameter(parameterIndex, sqlType)
with sqlType Types.NUMERIC or Types.DECIMAL sets the scale of the output
parameter to zero (0). According to the JDBC specification, calling
CallableStatement.registerOutputParameter(parameterIndex, sqlType, scale) is
the recommended method for registering NUMERIC or DECIMAL output parameters.
* 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 driver supports retrieval of output parameters from a stored procedure
before all result sets and/or update counts have been completely processed.
When CallableStatement.getXXX is called, result sets and update counts that
have not yet been processed by the application are discarded to make the
output parameter data available. Warnings are generated when results are
discarded.
* The preferred method for executing a stored procedure that generates result
sets and update counts is using CallableStatement.execute(). If multiple
results are generated using executeUpdate, the first update count is
returned. Any result sets prior to the first update count are discarded.
If multiple results are generated using executeQuery, the first result set is
returned. Any update counts prior to the first result set are discarded.
Warnings are generated when result sets or update counts are discarded.
* 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.
newPassword Connection Property
-------------------------------
For database versions prior to Oracle 12c, the newPassword connection property
is supported only when connecting to servers for which the
ALLOWED_LOGON_VERSION parameter is either not specified or is specified with a
value of 8. If the newPassword connection property is specified when
attempting to connect to an Oracle server for which the ALLOWED_LOGON_VERSION
parameter is specified with a value greater than 8, the driver throws a
"No Matching Authentication Protocol" exception. The newPassword connection
property is not supported for Oracle 12c.
Connecting to Oracle in Restricted Mode Using tnsnames.ora File
---------------------------------------------------------------
When connecting to Oracle instances running in restricted mode using a
tnsnames.ora file, you must connect using a service name instead of a SID.
Select Failover and Result Sets with LOBs
------------------------------------------
If using Select failover and a result set contains LOBs, the driver cannot
recover work in progress for the last Select statement for that result set.
You must explicitly restart the Select statement if a failover occurs. The
driver will successfully recover work in progress for any result sets that
do not contain LOBs.
Using JDBC Distributed Transactions Through JTA
------------------------------------------------
If you install the Oracle driver and want to take advantage of JDBC
distributed transactions through JTA, you must install Oracle8i R3 (8.1.7)
or higher.
REF CURSOR Output Parameters
----------------------------
Because JDBC does not support a cursor data type, the Oracle driver returns
REF CURSOR output parameters to the application as result sets. For details
about using REF CURSOR output parameters with the driver, refer to the
user's guide.
ResultSet.getTimestamp() Method
-------------------------------
By default, values for TIMESTAMP WITH TIME ZONE columns cannot be retrieved
using the ResultSet.getTimestamp() method because the time zone information is
lost. The Oracle driver returns NULL when the getTimestamp() method is called
on a TIMESTAMP WITH TIME ZONE column and generates an exception. For details
about using the TIMESTAMP WITH TIME ZONE data type with the driver, refer to
the user's guide.
Documentation
PROGRESS DATADIRECT FOR JDBC FOR ORACLE DOCUMENTATION SET
---------------------------------------------------------
The driver documentation set is available from the Progress Information Hub:
https://docs.progress.com/category/datadirect-oracle
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_ORACLE_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_ORACLE_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/JNDI/:
---------------------------
JNDI_FILESYSTEM_Example.java
Example Java(TM) source file
JNDI_LDAP_Example.java Example Java source file
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 installing or uninstalling
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/:
-----------------
DDJDBCAuthxx.dll Windows DLL that provides support for NTLM
authentication (32-bit), where xx is the Build
number of the DLL
DDJDBC64Authxx.dll Windows DLL that provides support for NTLM
authentication (Itanium 64-bit), where xx is the
Build number of the DLL
DDJDBCx64Authxx.dll Windows DLL that provides support for NTLM
authentication (AMD64 and Intel EM64T 64-bit), where
xx is the Build number of the DLL
JDBCDriverLogin.conf The JAAS login configuration file installed with the
driver
INSTALL_DIR/lib/60/:
--------------------
oracle.jar Oracle Driver and DataSource classes
INSTALL_DIR/NOTICES/:
---------------------
JDBC for Oracle 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 Oracle 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
oracle/*.* Driver specific support files for the uninstaller
February 2026
================
End of README