MongoDB JDBC 6.1.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 MongoDB(TM) Driver
Release 6.1.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.1.0 GA
Release 6.1.0 Features
DataDirect JDBC Driver Configuration Manager
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.1.0 GA
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
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 optimize the handling of delete operations.
As part of this change:
- The driver no longer has an upper limit for how many rows can be deleted in
a single operation.
- The driver is significantly more efficient when removing all the rows in a
table, resulting in improved performance.
* The driver has been enhanced to support the TLSv1.3 cryptographic protocol.
* The driver has been enhanced to allow you to configure whether the driver
inserts String values that exceed the column length defined in the relational
schema. You can configure this behavior using the new
StringTruncationMethodForWrites property.
* The driver has been enhanced to allow you to increase the default length of
VARCHAR columns to increase the size of data values you can insert with the
driver. You can configure the new MinVarcharSize property to specify
minimum default length of fields mapped to VARCHAR.
* The driver has been enhanced to allow you to specify the format in which the
driver renders the MongoDB composite timestamp. This allows you to specify
the format of the MongoDB composite timestamp that is most appropriate for
your use case. You can configure this driver behavior using the new
TimestampFormat property.
* The driver has been enhanced to support replacing the internal mapping files
at connection. When CreateMap is set to ForceNew, the driver
replaces the schema map files specified by the SchemaMap property
with newly generated files at the same location. In addition, if you are
upgrading from driver version 6.0 to 6.1, the driver retains a copy of the
6.0 version of the schema map files as a backup when generating the 6.1
version of the files.
* The driver has been enhanced to support data compression for all messages
passed between the client and server. Data compression can significantly
reduce network traffic, which, in turn, can lower data transfer costs for
cloud services. This feature can be enabled using the new
NetworkMessageCompressors property.
Feature details:
- Available: Driver version 6.1.0.000898 (C5395.F001993.U001070)
- Proposed by the following DataDirect Idea:
https://progresssoftware.aha.io/features/DDIDEAS-551
* The driver has been enhanced to support MongoDB views created in the
database. MongoDB views are discovered during the sampling process
and mapped using the same schema format used for your collections.
Feature details:
- Available: Driver version 6.1.0.000821 (C5183.F001827.U000930)
- Proposed by the following DataDirect Idea:
https://progresssoftware.aha.io/ideas/ideas/DDIDEAS-I-356
* The driver has been upgraded to support the MongoDB Protocol using OP_MSG
opcode.
Feature details:
- Available: Driver version 6.1.0.000776 (C4996.F001742.U000857)
* Starting June 20, 2022, installer packages signed with a digital signature
will be available for download from OEM FTP. For instructions on verifying
installer package signatures, refer to
https://community.progress.com/s/article/Signed-packages-for-DataDirect-OEMs
* The driver has been enhanced to support the JavaScript and Regex data types.
* The new FlattenArrayBase property allows you to specify the starting ordinal
value appended to column names for flattened arrays. When flattening arrays,
column names are appended with an underscore and the ordinal value
(<array_name>_<ordinal_location>). This property allows you to determine
whether the first ordinal value in the series is either a 0 or a 1.
* The new JSONColumns property allows you to determine whether the
driver exposes complex columns as JSON values in addition to their normalized
mapping.
Note: Querying JSON values can be an expensive operation that could
negatively impact performance; therefore, you should only query JSON
values when necessary.
* The driver has been enhanced with the new ArrayNormalizationThreshold
connection property. ArrayNormalizationThreshold allows you to specify the
length of arrays (in elements) at which the driver begins to normalize
arrays to child tables when generating a flattened view. This provides you
with a method to control the size and focus of your parent table when
encountering large arrays or nested arrays.
* The driver has added support for the MinKey and MaxKey special values.
* The driver has been enhanced to support LDAP (Lightweight Directory Access
Protocol) authentication.
* The driver has been enhanced to support the SCRAM-SHA-256 authentication
method for user ID and password authentication. When user ID and password
authentication is enabled (AuthenticationMethod=UserIDPassword), the driver
detects and uses the most secure method supported by the server.
Refer to the User's Guide for detailed information on these enhancements.
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 SchemaDefinition property has been added as an alias for the SchemaMap
property. This change allows users to continue using their configurations
for earlier versions of the driver until they are able update their
connection settings. Note that SchemaDefinition is a deprecated property and
may not be supported in future versions of the driver.
Refer to the User's Guide for detailed information on these changes.
Release 6.1.0 Features
Enhancements
------------
* The normalization algorithm has been upgraded to improve sampling performance
and optimize the generation of tables in the relational view. In addition,
the new SchemaFormat connection property allows you to determine to which
relational view the driver maps data, including normalized, mixed, and
flattened views.
* The driver supports migrating schema maps and internal files created with
the 6.0 version of the driver so that they can be used by the 6.1 driver.
By migrating these files, you can continue to execute the same SQL statements
that you did with the 6.0 driver, while still leveraging the advantages of
the 6.1 driver. Refer to "Migrating schema maps and native files to 6.1" in
the user's guide for details.
* The new SchemaFilter connection property allows you to specify the databases
for which the driver fetches metadata. This can improve connection times by
limiting the collections for which metadata is fetched to only those required
by your application.
* The new QualifyNormalizedNames property allows you to determine whether names
of relational child-tables normalized from arrays, objects, subdocuments are
prefixed with the collection name and names of any parent objects.
* The new SpecialCharBehavior property allows you to determines how the driver
handles the mapping of native identifiers containing characters that would
require them to be quoted in SQL statements. This property provides a method
to choose to continue using identifiers that require quotation marks or for
the driver to modify affected identifier names so that quotation marks are
not required.
* The driver has been enhanced to support replica set failover for write
operations. This feature can be enabled by specifying your replica set name
using the new ReplicaSetName connection property.
* The driver has been enhanced to support connections to MongoDB Atlas clusters
through a domain. Instead of specifying connection information for
individual nodes, driver allows you to specify the name of the domain using
the ServerName property. The driver then uses a DNS lookup to discover the
member nodes in the cluster to which it can connect.
* The new EnableDNSLookup property specifies whether the driver performs a DNS
lookup to discover member nodes of a cluster when connecting. When enabled
(the default), the driver will discover and connect to the nodes of a cluster
when a domain is specified by the ServerName property. Alternatively, if not
connecting to cluster, you can experience improved connection times by
disabling this property.
* Includes the DataDirect JDBC Driver Configuration Manager for quick
configuration and testing of your driver. This tool allows you to:
- Generate and edit connection URLs
- Test connect connection URLs
- Execute SQL commands for testing
- Access connection property descriptions and the full product
documentation
* 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 allow you to limit sampling to only new
collections when refreshing the schema map. This provides for quicker
processing times if you only want to map new collections or if existing
collections are unchanged. You can limit sampling limit sampling to only
new collections by specifying the NEW option in a Refresh Map statement.
* The driver has been enhanced to support the native Decimal128 data type,
which maps to the Decimal JDBC type by default.
Refer to the User's Guide for detailed information on these enhancements.
Changed behavior
----------------
* The default mapping behavior of the driver has been changed from generating a
normalized view of data to one that is a mixture of normalized and flattened
views. The mixed view reduces the number of tables generated while providing
a more intuitive data model. You can configure the mapping behavior using the
new SchemaFormat property. For details, refer to the "RELATIONAL MAPPING
UPGRADE GUIDE."
* The Schema Tool and manual customizations of the schema map are not currently
supported.
* The AuthenticationMethod property has been updated to include a new valid
value, None. When set to None, the driver does not attempt to authenticate.
In earlier versions, the driver would connect without authentication when
AuthenticationMethod=userIDpassword and a userID and password were not
specified. The earlier behavior is no longer supported.
* The purpose of the AuthenticationDatabase property has been changed. The
property is now used for user id and password authentication
(AuthenticationMethod=userIdPassword) to specify the database in which the
user id was created. This allows you to explicitly select a set of
credentials when the same user ID was created in multiple databases.
As part of this change, AuthenticationDatabase is ignored when using
Kerberos authentication. The driver now uses $external as the authentication
database for all Kerberos-enabled connections.
* The CreateDB connection property has been replaced by the CreateMap property.
The valid values and behavior are identical for both properties.
* The ConfigOptions connection property has been deprecated. As a result, the
driver has been enhanced to support setting each of the configuration options
formerly supported by ConfigOptions as standalone connection properties.
* The following Config Options are no longer supported:
- DefaultVarcharSize
- MaxVarcharSize
- MinVarcharSize
To determine the default length of VARCHAR fields, the driver multiplies the
largest discovered field by 1.5. For example, if the largest detected field
has a length of 100 characters, the driver sets the default length to 150
characters.
* Supports has ended for versions earlier than MongoDB 3.6.
Refer to the User's Guide for detailed information on these changes.
DataDirect JDBC Driver Configuration Manager
The driver includes a browser-based configuration tool, the DataDirect JDBC
Driver Configuration Manager, that allows you to generate and test connection
URLs that you can use with your application. You can launch the Configuration
Manager by double-clicking on the driver jar file. Or, from the command line,
you can navigate to the directory containing the driver jar file; then, execute
the following command:
java -jar mongodb.jar
The Configuration Manager will open in your default web browser. For more
information, refer to the user's guide for your driver.
Notes, Known Problems, and Restrictions
The following are notes, known problems, and restrictions for the 6.1.0
Release of the driver.
DataDirect Test Errors on Windows 10
------------------------------------
DataDirect Test is currently reporting errors to the console because the
default ddlogging.properties file handler does not have write access to the
default install directory (C:\Program Files\...) on Windows 10.
VARBINARY Truncation
--------------------
For columns mapped to Varbinary, the driver truncates values that exceed the
column size defined for the column when constructing the relational map of your
data.
Mapped Columns with Numeric Names
---------------------------------
When accessing data from a mapped column with a numeric name, you must
enclose the column name in double quotes in the SQL statement. For example, to
select data from a column named 3, you submit the following statement:
SELECT "3" FROM <table>
Although numeric column names can be created in a number of ways, they are
typically the result of normalizing a collection that contains array fields.
Executing SQL Queries
---------------------
The driver pushes down SQL queries to MongoDB whenever possible. Queries that
cannot be pushed down to MongoDB in the driver may be slower than comparable
queries made with earlier versions of the driver because data may be paged to
disk while completing an operation. If you experience slow performance, please
report your issue to Technical Support.
system.indexes collection
-------------------------
The driver hides the system.indexes collection, and tables containing the "quot;
character are hidden to prevent naming conflicts.
oplog.rs system table
---------------------
The driver hides the oplog.rs system table.
JTA Support
-----------
JDBC distributed transactions through JTA are not supported.
Executing DataDirect Shell Script
---------------------------------
For 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.
* The DataDirect for JDBC drivers allow 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.
Documentation
PROGRESS DATADIRECT FOR JDBC FOR MICROSOFT DYNAMICS 365 DOCUMENTATION SET
-------------------------------------------------------------------------
The driver documentation set is available from the Progress Information Hub:
https://docs.progress.com/category/datadirect-mongodb
You can access the online help system directly in either of the following ways:
* Via the HTML redirect in the installation Help directory
* By selecting Help from the menu in the Configuration Manager
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
- PROGRESS_DATADIRECT_JDBC_MONGODB_6.1.0_INSTALL.iam.zip
- PROGRESS_DATADIRECT_JDBC_COMMON_6.1.0_INSTALL.iam.zip
- PROGRESS_DATADIRECT_JDBC_DOCUMENTATION_6.1.0_INSTALL.iam.zip
* Non-Windows:
- PROGRESS_DATADIRECT_JDBC_INSTALL.jar
- PROGRESS_DATADIRECT_JDBC_MONGODB_6.1.0_INSTALL.iam.zip
- PROGRESS_DATADIRECT_JDBC_COMMON_6.1.0_INSTALL.iam.zip
- PROGRESS_DATADIRECT_JDBC_DOCUMENTATION_6.1.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
fixes.txt Information on resolved issues for Progress
DataDirect for JDBC drivers
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 installation
INSTALL_DIR/lib/:
-----------------
mongodb.jar MongoDB Driver and DataSource
classes
JDBCDriverLogin.conf Kerberos configuration file used to specify the JAAS
login module
INSTALL_DIR/NOTICES/:
---------------------
JDBC for MongoDB v6.1 notices.txt
Third party agreement information
INSTALL_DIR/pool manager/:
--------------------------
pool.jar All DataDirect Connection Pool Manager classes
INSTALL_DIR/READMES/:
---------------------
JDBC for MongoDB v6.1 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_61.exe Windows uninstaller
Uninstall_JDBC_61.lax Support file for the Windows uninstaller
uninstaller.jar Java uninstaller
mongodb/*.* Support files for the uninstaller
resource/*.* Resource files for the Windows uninstaller
February 2026
================
End of README