Google BigQuery JDBC 6.0.0
- Last Updated: May 8, 2026
- 9 minute read
- OpenAccess SDK
- Documentation
README
Progress(R) DataDirect(R)
Progress(R) DataDirect(R) for JDBC(TM) for Google BigQuery(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
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
Changes since 6.0.0
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
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-google-bigquery
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 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 retry API call executions when an HTTP
failure or driver exception occurs. You can configure this behavior with the
new RetryExceptions connection property. When this option is
set to 1, the driver uses the retry value specified by the WSRetryCount
connection property.
* The driver has been enhanced to support fetching access and refresh tokens at
connection when OAuth2.0 is enabled. When using the new dynamic authorization
code grant, you can initiate an authorization code grant flow by specifying
login credentials using the login prompt for your service, thereby providing
a method to authenticate without fetching access and refresh tokens via the
Configuration Manager or a third-party application. In addition, the new
EnableLoginPrompt and RedirectURI properties have been added to enable this
functionality.
* The driver has been enhanced to support the JSON and Interval data types.
* The driver has been enhanced to allow users to specify values for the
following connection properties:
- AuthURI and TokenURI for OAuth 2.0 authentication
- JWTAudience and TokenURI for Service Account authentication
Earlier, these properties were hidden and their default values were used for
authenticating to Google BigQuery.
* The driver has been enhanced to support the Google BigQuery Streaming API
for executing batch inserts. The UseStreamingInsert connection property has
been added to the driver. This property is enabled by default.
* The driver has been enhanced to fetch metadata for multiple tables parallelly
at connection time. This enhancement provides performance benefits when
connecting to a dataset that has a large amount of data.
* The driver has been enhanced with the new PrimaryKeyPattern connection
property, which allows you to determine which column in a table is designated
as the primary key. Google BigQuery does not have the concept of primary
keys, or even uniqueness. However, some applications will not function
properly without at least one column in a table designated as the primary
key. This property allows your applications that require a primary key to
function correctly when connecting to Google BigQuery data sources. See
the "Notes, Known Problems, and Restrictions" section for a description of
this property.
* 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 support the BIGNUMERIC data type,
which maps to the DECIMAL JDBC data type.
* The ServiceAccountKeyContent connection option has been added to
the driver. It allows you to specify the private key required to
authenticate to Google BigQuery when service account authentication
is enabled (AuthenticationMethod=serviceaccount). In contrast, the
ServiceAccountPrivateKey option allows the user to specify the
.json or .p12 file that contains the private key. If you do not want to
persist the private key file in your environment, you should use the
ServiceAccountKeyContent option. The value of the ServiceAccountKeyContent
option must be the value of the private_key property in the private key
file downloaded from the Google Cloud Platform (GCP) Console. Surrounding
quotation marks should be omitted when specifying the value.
* The EnableCatalogSupport connection property has been added to the driver.
It determines whether the driver supports specifying values for catalog
parameters in metadata calls.
* The driver has been enhanced to support the Google BigQuery Storage API for
fetching large result sets. The Storage API provides increased throughput and
allows the driver to more efficiently manage large result sets. You can enable
the driver to use the Storage API with the UseStorageAPI connection property.
You can further configure how the driver uses the Storage API with the
StorageAPIThreshold and StorageAPIMinPageCount connection properties. See the
user's guide for details.
Note: Currently, the Storage API is supported only on Windows 64-bit,
Linux 64-bit, and JVM 64-bit. If an application attempts to use the
Storage API on an unsupported platform, the driver falls back to the
Standard API.
* 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.
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 default value of the SchemaSet configuration option has been changed to
the project and dataset specified at connection.
* The default value of the WSRetryCount connection option has been changed to
5.
Release 6.0.0 Features
The Progress DataDirect for JDBC for Google BigQuery driver supports both
standard and legacy SQL dialects of Google BigQuery. It allows create, read,
update, and delete operations in internal tables (stored inside Google
BigQuery) and read operations in external tables (stored in data sources
outside Google BigQuery). In addition, it:
* Serves as a complete pass-through driver. It leverages the SQL engine
functionality of Google BigQuery to execute SQL queries.
* Returns data for complex data types, such as Array and Struct, as JSON
strings, which are easy to comprehend for JDBC applications.
* Provides proxy support using ProxyHost, ProxyPassword, ProxyPort, and
ProxyUser connection properties.
* Supports the handling of large result sets with configurable paging and the
FetchSize and WSFetchSize connection properties.
Notes, Known Problems, and Restrictions
The following are notes, known problems, and restrictions with release 6.0.0 of
the driver.
* When using the Streaming API for insert operations, the rows are queued and
appear in the table after a delay. The duration of the delay varies and can
go up to 30 minutes. You must not modify the table or run other operations on
the table while there are rows in the streaming queue. Changing the table's
metadata or running DML operations can cause uncommitted streaming rows to be
lost.
* PrimaryKeyPattern description
Property Name:
PrimaryKeyPattern
Purpose:
Determines which column in a table is designated as the primary key. Google
BigQuery does not have the concept of primary keys, or even uniqueness.
However, some applications will not function properly without at
least one column in a table designated as the primary key. This property
allows your applications that require a primary key to function correctly
when connecting to Google BigQuery data sources.
Valid Values:
* | <column_name>
where:
<column_name>
is the name of the column, specified as a regular expression, that you want
designated as the primary key in each table.
Behavior:
If set to *, the driver designates the first column in each table that is not
of the BOOL, RECORD, ARRAY or GEOGRAPHY data type as the primary key.
If set to <column_name>, the driver designates the first column in each table
whose name matches the specified regular expression. The driver will not
designate any column that is of the BOOL, RECORD, ARRAY, or GEOGRAPHY data
type as the primary key.
If no value is specified, the driver does not designate a primary key for any
tables. This is the typical behavior for Google BigQuery data sources.
Data Source Method:
setPrimaryKeyPattern
Default:
No default value
Data Type:
String
* For metadata calls, the driver returns catalog as null and schema
in catalog.schema format. For example, for the following call:
getTables(p1,d1,t1,null), where p1 is project, d1 is dataset, and t1 is table,
the driver will return catalog as null and schema as p1.d1. Note that
catalog and schema are equivalent to project and dataset in
Google BigQuery.
* If the file type of the private key file used for service account
authentication is .p12, the authentication will fail, unless the
skipDDPKIProvider system property is set to true.
Documentation
PROGRESS DATADIRECT FOR JDBC FOR GOOGLE BIGQUERY DOCUMENTATION SET
------------------------------------------------------------------
The driver documentation set is available from the Progress Information Hub:
https://docs.progress.com/category/datadirect-google-bigquery
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_GOOGLEBIGQUERY_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_GOOGLEBIGQUERY_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/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 The JAAS login configuration file installed with the
driver
INSTALL_DIR/lib/60/:
--------------------
googlebigquery.jar Google BigQuery Driver and DataSource classes
INSTALL_DIR/NOTICES/:
---------------------
JDBC for Google BigQuery 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 Google BigQuery v6.0 readme.txt
This file
INSTALL_DIR/Tableau/:
----------------------
DataDirect GoogleBigQuery.tdc
Tableau data source 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
googlebigquery/*.* Support files for the uninstaller
resource/*.* Resource files for the Windows uninstaller
February 2026
================
End of README