Powered by Zoomin Software. For more details please contactZoomin

DataDirect JDBC ReadMe

SQL Server JDBC 6.0.0

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

     README
     Progress(R) DataDirect(R)
     Progress(R) DataDirect(R) for JDBC(TM) for SQL Server(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 SQL Server Driver
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  
  
  
    Progress DataDirect for JDBC for SQL Server Driver

The driver supports the JDBC API for SQL read-write access to Microsoft 
SQL Server, Microsoft Fabric (Synapse Data Warehouse endpoints) and Microsoft 
Azure, including Microsoft Azure Synapse Analytics and Microsoft Analytics 
Platform System.

* 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-microsoft-sql-server

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 now provides read-write access to the Synapse Data Warehouse 
  endpoints of Microsoft Fabric. For more information, including limitations,
  refer to the user's guide.

  Available: 6.0.0.001857 (F002896.U001904)|05/22/2025

* 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 managed identity authentication for 
  Microsoft Entra ID (Azure Active Directory) resources. You can configure this
  authentication using the updated AuthenticationMethod and User connection 
  properties.

* The driver has been enhanced to support the TLSv1.3 cryptographic 
  protocol using SQL Server 2022. To enable TLSv1.3 encryption, set 
  the EncryptionMethod property to the new value Strict. Refer to the 
  user's guide for details.

* The driver has been enhanced to support inserts into IDENTITY columns
  for data replication. You can enable inserts into IDENTITY 
  columns defined as NOT FOR REPLICATION using the new 
  EnableReplicationUser connection property.

* The driver has been enhanced to support Microsoft Entra ID authentication 
  using Service principal users. You can configure this feature using the
  refreshed AuthenticationMethod property, and the new 
  ActiveDirectoryPrincipalID and ActiveDirectoryPrincipalSecret
  properties. 

* The driver has been enhanced to use sp_describe_undeclared_parameters, a 
  SQL Server system stored procedure, to fetch parameter metadata. Using this 
  stored procedure, the driver can return more accurate parameter metadata for 
  both simple and complex queries.

* The driver has been enhanced to support authentication using an access
  token. Refer to the user's guide for more information.

* The driver has been enhanced to support Windows Defender Credential
  Guard when using Kerberos Authentication. 

* 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 encrypted parameters in stored 
  procedures when using the Always Encrypted feature. 

* The driver has been enhanced to support the Always Encrypted feature. 
  Beginning with SQL Server 2016, Azure SQL and SQL Server databases
  support Always Encrypted, which allows sensitive data to be stored on
  the server in an encrypted state such that the data can only be 
  decrypted by an authorized application. The following are highlights of
  this enhancement:
  - The driver detects all supported native data types stored in 
    encrypted columns and transparently encrypts values bound to SQL 
    parameters or decrypts values returned in results.
  - The driver supports configurable caching of column encryption keys 
    for improved performance.
  - The driver supports using Java KeyStore and Azure Key Vault as
    keystore providers.

  You can enable support for Always Encrypted using the following new 
  options:
  ColumnEncryption, AEKeyCacheTTL, AEKeystoreClientSecret,
  AEKeystoreLocation, AEKeystorePrincipalId, and AEKeystoreSecret. Refer
  to the user's guide for more information.
  
  Important: Always Encrypted support requires the driver to run on a
  Java Virtual Machine (JVM) that is Java SE 8 or higher.

  For a list of limitations for the Always Encrypted feature, see "Notes, 
  Known Problems, and Restrictions."

* 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 5.1.4.000120 of the driver.
  For more information on the vulnerabilities resolved by this upgrade,
  refer to https://nvd.nist.gov/.  

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.
  
* ProgramName is no longer supported as an alias for the ApplicationName
  connection property.

* 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
  
  

    Release 6.0.0 Features

Enhancements 
------------ 
* The driver has been enhanced to connect to Microsoft Azure Synapse
  Analytics and Microsoft Analytics Platform System data sources. 

* The driver has been enhanced to support Always On Availability Groups.
  Introduced in SQL Server 2012, Always On Availability Groups is a
  replica database environment that provides a high-level of data
  availability, protection, and recovery.

* The driver has been enhanced to support Microsoft Entra ID
  authentication (Azure AD authentication). Microsoft Entra ID authentication 
  is an alternative to SQL Server Authentication that allows administrators to
  centrally manage user permissions to Azure SQL Database data stores.

* The driver has been enhanced to support Kerberos Constrained
  Delegation. Sometimes referred to as impersonation, Constrained
  Delegation allows the driver to establish a connection with credentials
  passed via a GSSCredential object.

* For Kerberos authentication environments, the following changes have
  been implemented.
     - The driver no longer sets the java.security.auth.login.config
       system property to force the use of the installed
       JDBCDriverLogin.conf file as the JAAS login configuration file. By
       default, the driver now uses the default JAAS login configuration
       file for Java, unless you specify a different location and file
       using the java.security.auth.login.config system property. 
     - 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.

* Added the RegisterStatementPoolMonitorMBean connection property. 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.

* Support for result set holdability has been added to the driver.


     Notes, Known Problems, and Restrictions
	 
The following are notes, known problems, and restrictions with the 6.0.0
release of the driver.
	 	
sp_describe_undeclared_parameters Support
-----------------------------------------
The driver uses sp_describe_undeclared_parameters, a SQL Server system stored 
procedure, to fetch parameter metadata. However, it cannot determine if a 
parameter allows NULL values; hence, it returns SQL_NULLABLE_UNKNOWN for the 
nullable fields. 
You can get the mode information of the parameter with the following:
 * The value 1 indicates that the mode of the parameter is in
 * The value 2 indicates that the mode of the parameter is out

Always Encrypted Limitations
----------------------------
The following limitations apply to the current implementation of Always 
Encrypted support: 
 * No support for encrypted values in updateable result sets
 * No support for Windows certificate store or custom keystore providers
 * No support for enabling Always Encrypted on individual statements.
   Support for encrypted columns can only be set at the connection level.
	
Using Bulk Load
---------------
For optimal performance, minimal logging and table locking must be enabled.
Refer to the following Web sites for more information about enabling minimal 
logging:

http://msdn.microsoft.com/en-us/library/ms190422.aspx
http://msdn.microsoft.com/en-us/library/ms190203.aspx

Table locking, a bulk load option, is enabled by default. Table locking prevents
other transactions from accessing the table you are loading to during the bulk 
load. See "Bulk load properties" in the user's guide for information about 
configuring the driver for bulk load operations.

System.exit() method and Process Termination
--------------------------------------------
The System.exit() method ensures that all registered shutdown hooks are run. 
Applications terminate faster when System.exit(0) is used. When applications 
omit the System.exit() call, the termination process may linger for about 10 
seconds before exiting.

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.

* 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.


     Documentation	 	 

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

https://docs.progress.com/category/datadirect-microsoft-sql-server

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_SQLSERVER_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_SQLSERVER_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.ini               Configuration file for 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/:
--------------------
sqlserver.jar              SQL Server Driver and DataSource classes	   


INSTALL_DIR/NOTICES/:
---------------------
JDBC for SQL Server 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 SQL Server v6.0 readme.txt
                           This file
						   
						   
INSTALL_DIR/SQLServer JTA/32-bit:
---------------------------------
instjdbc.sql               File for installing JTA stored procedures
                           (for SQL Server 2008 and later)

instjdbc_2005.sql          File for installing JTA stored procedures
                           (for SQL Server 2005 and earlier)

sqljdbc.dll                File for use with JTA stored procedures
                           (32-bit version)


INSTALL_DIR/SQLServer JTA/64-bit:
---------------------------------
instjdbc.sql               File for installing JTA stored procedures
                           (for SQL Server 2008 and later)

instjdbc_2005.sql          File for installing JTA stored procedures
                           (for SQL Server 2005 and earlier)

sqljdbc.dll                File for use with JTA stored procedures 
                           (Itanium 64-bit version)


INSTALL_DIR/SQLServer JTA/x64-bit:
----------------------------------
instjdbc.sql               File for installing JTA stored procedures
                           (for SQL Server 2008 and later)

instjdbc_2005.sql          File for installing JTA stored procedures
                           (for SQL Server 2005 and earlier)

sqljdbc.dll                File for use with JTA stored Procedures 
                           (AMD64 and Intel EM64T 64-bit version)


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

sqlserver/*.*              Driver specific support files for the uninstaller



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

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