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