ODBC and JDBC drivers for BigQuery


Google has collaborated with Magnitude Simba to provide ODBC and JDBC drivers that leverage the power of BigQuery's standard SQL.

The intent of the JDBC and ODBC drivers is to help users leverage the power of BigQuery with existing tooling and infrastructure. Some capabilities of BigQuery, including high performance storage integration and reservations management, are only available through the BigQuery APIs.

Current ODBC driver release (

Current JDBC driver release (

Known issues and FAQ

Can I use these drivers to ingest or export data between BigQuery and my existing environment?

These drivers leverage the query interface for BigQuery and don't provide functionality to leverage BigQuery's large scale ingestion mechanisms or export functionality.

While you can use DML to issue small volumes of INSERT requests, it is subject to the limits on DML.

How do the drivers deal with BigQuery's nested and repeated data schemas?

Nested and repeated data, also known as STRUCTS and ARRAYS in standard SQL, is represented as the JSON output from the BigQuery API for these types because the ODBC data model does not have an appropriate way to represent the data. While you might run queries that manipulate these types, if the output schema from a query has complex types the drivers will present these encoded in JSON format.

Do the drivers support parameterized queries?

Yes, the drivers support positional parameterization. Note that preparing a query prior to execution provides validation information, but does not affect performance of the executed query.

Do the drivers require a license?

Previous versions of the documentation accompanying the drivers made reference to licensing files. These provided drivers do not require a license file, and the documentation has been updated to make this clearer.

Do the drivers support the SQL query prefix?

While BigQuery supports using query prefixes to switch between the legacy SQL and standard SQL dialects, the drivers do not. The drivers maintain specific state related to the SQL mode used and set the option explicitly when creating the connection. Because the SQL mode is fixed when the connection is created, the drivers do not support switching SQL dialects using query prefixes.

How do I get support for these drivers?

Please consult our support page for support options.

How am I being charged when querying BigQuery via the driver?

The drivers are available for download at no cost. Queries run using the driver are charged based on how the driver is configured:

  • Query pricing applies by default to all queries from the driver. Query pricing is the only pricing that applies when the driver is not configured to support large result sets.
  • Storage pricing applies in addition to query pricing when the driver is configured to write large results sets to a destination table. Data is stored for 24 hours, and table results will incur 24 hours worth of storage charges.
  • Storage API pricing applies when the Storage API is invoked using the driver. This pricing applies to data read from query results and not to the data scanned by the query. Storage API pricing only applies to large result sets.