Powered by Zoomin Software. For more details please contactZoomin

DataDirect JDBC ReadMe

Snowflake JDBC 6.0.1

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

     README
     Progress(R) DataDirect(R) 
     Progress(R) DataDirect(R) for JDBC(TM) for Snowflake(TM) Driver
     Release 6.0.1
     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 for 6.0.1 GA
Release 6.0.0 Features
Progress DataDirect Snowflake 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 for 6.0.1 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
------------
* Corrections have been made to the contents of the getTypeInfo result set.

* 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 key-pair authentication. 
  When key-pair authentication is enabled (AuthenticationMethod=KeyPair), 
  you can authenticate to Snowflake using a pair of private and public keys. 
  To configure the driver to use key-pair authentication, you can use the new 
  PrivateKeyFile, PrivateKeyContent, and  PrivateKeyPassphrase connection 
  properties. For details, refer to the user's guide.

  Notes:
  - If the encryption schema you are using to generate the encrypted private 
    keys is not compatible with the native encryption libraries of your JRE, 
    the JRE will return an error. To resolve this issue, either generate
    encrypted private keys using an encryption schema that is compatible with
    your JRE or add a third-party Java cryptography library to your
    application (for example, Bouncy Castle) that supports the encryption
    schema you are using. For example, to add Bouncy Castle to your
    application, add the following line to the java.security file: 
    security.provider.n=org.bouncycastle.jce.provider.BouncyCastleProvider 
    and then add the Bouncy Castle jars to the classpath of your JRE.

  Available: Driver version 6.0.0.001654 (C7293.F002734.U001694)  

* The driver now allows you to specify whether the driver fetches metadata 
  for only tables in the database to which you are connected when a database 
  name is not specified in metadata calls. When enabled, this behavior can 
  provide better performance for metadata calls by reducing the number of 
  tables queried. You can use the new UseSessionDatabaseForMetadata 
  connection property to configure the driver's behavior. Refer to the 
  user's guide for details.

  Available: Driver version 6.0.0.001654 (C7293.F002734.U001694)

* The driver has been modified to map Snowflake data types for fixed-point
  numbers to the Numeric data type by default. In addition, the
  IntegerFieldMapping connection property has been added to the driver. This
  connection property allows you to specify whether fixed-point numbers are
  mapped to Numeric or BigInt.

  Available: Driver version 6.0.0.001654 (C7293.F002734.U001694)

* The driver has been enhanced to support the refresh token grant for 
  OAuth 2.0 authentication. To support it, a new connection property, 
  RefreshToken, has been added. Refer to the user's guide for details.

  Available: Driver version 6.0.0.001101 (C5325.F001946.U001044)

* The driver has been enhanced to fall back to JSON query format when the arrow
  format is not properly initialized. The driver uses a high-speed arrow 
  transfer that requires the restricted APIs from java.nio package. When the 
  JVM is not correctly configured for Java SE 16 and higher, an exception is 
  returned when the driver executes a query. To allow you to continue executing
  queries in this scenario, you can configure the new ArrowFallbackToJson 
  property to switch to the JSON query format. 

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 TransactionMode property has been removed from the driver as of version
  6.0.1. It was determined that TransactionMode provides no value with respect to
  Snowflake connections. If you previously used TransactionMode with version
  6.0.0, you must remove this setting after upgrading to 6.0.1. Continuing to use
  it may result in an error and prevent the driver from establishing a connection.
  In version 6.0.1, all transaction handling is delegated to the server.

* 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 

The Progress DataDirect for JDBC for Snowflake driver supports SQL 
read-write access for JDBC applications to Snowflake. The driver provides 
access to data in Snowflake that can be accessed by a data visualization tool
to get important insights into engineering operations. This functionality 
allows seamless integration with third-party software and provides the most 
comprehensive SQL support and JDBC standard connectivity to BI 
(Business Intelligence) and ETL (Extract,Transform, Load) tools.

In addition, the driver:

* Supports the core SQL-92 grammar

* Supports JDBC core functions

* Supports Snowflake data types through data type inference

* Supports the handling of large result sets with paging and the
  FetchSize connection property 

* Supports the following authentication methods:
  - UserID/Password 
  - OAuth 2.0 
  - Browser-based SSO (Microsoft Windows) 
  
* Supports using the COPY command for loading and unloading data from local 
  file systems and cloud platforms, such as Amazon S3, Google Cloud, and 
  Microsoft Azure

* Supports proxy server connections

* Supports TLS/SSL data encryption 

* Includes Interactive SQL for JDBC (JDBCISQL). It 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.

* Includes the Progress DataDirect Snowflake 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 
  - Fetch OAuth 2.0 tokens
  - Access connection property descriptions and the full product
    documentation  
    
    
    Progress DataDirect Snowflake Configuration Manager 
    
The driver includes a browser-based configuration tool, the Progress DataDirect
Snowflake 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 a command line,
you can navigate to the directory containing the driver jar file; then, execute
the following command:      

 java -jar snowflake.jar

The Snowflake 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 with the latest release
of the driver.

Parameterized insert for DOUBLE and FLOAT data types
----------------------------------------------------
For DOUBLE and FLOAT data types, the driver does not insert DOUBLE.MAX_VALUE 
(1.79769313486232 e308) using parameterized insert queries and returns the 
exception "Numeric value '1.79769313486232E308' is not recognized."

Browser-based SSO authentication retry
--------------------------------------
When a browser-based SSO (single sign-on) connection fails, the driver retries 
the connection using the value specified in the ConnectionRetryCount property. 
Each attempt to connect opens a new browser window. You can change 
the ConnectionRetryCount connection property to 0 to prevent the driver from 
re-attempting a failed connection. The default value of the 
ConnectionRetryCount property is 5.

Prepared Statement Parameter Metadata
-------------------------------------
The following limitations apply to the current implementation of Prepared 
Statement behavior:

* The method getParameterTypeName returns VARCHAR as type name for 
  all parameters of all data types.
* The methods getPrecision and getScale return 0 for all parameters of all 
  datatypes.

ResultSet MetaData 
-------------------
The methods getTableName() and getSchemaName() return empty strings for data 
types mapped to VARCHAR when a record is inserted through parameterized SQL 
insert queries. However, these methods return applicable table or schema names 
when the same record is inserted through literal value inserts.

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.  
  
* 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 SNOWFLAKE DOCUMENTATION SET
-----------------------------------------------------------
The driver documentation set is available from the Progress Information Hub:

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

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
   - DriverModules
     - PROGRESS_DATADIRECT_JDBC_Snowflake_6.0.1_INSTALL.iam.zip
     - PROGRESS_DATADIRECT_JDBC_COMMON_6.0.0_INSTALL.iam.zip

*  Non-Windows:
   - PROGRESS_DATADIRECT_JDBC_INSTALL.jar
   - DriverModules
     - PROGRESS_DATADIRECT_JDBC_Snowflake_6.0.1_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

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/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/:
-----------------
JDBCDriverLogin.conf       Kerberos configuration file used to specify the JAAS
                           login module


INSTALL_DIR/lib/60/:
--------------------
snowflake.jar              Snowflake Driver and DataSource classes


INSTALL_DIR/NOTICES/:
---------------------
JDBC for Snowflake 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 Snowflake 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

Snowflake/*.*              Support files for the uninstaller

resource/*.*               Resource files for the Windows uninstaller



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

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