The intent of these drivers is to help users connect the power of BigQuery with existing tooling and infrastructure that does not have native integration. If you are building new integrations with BigQuery, you should consider the native API. The functionality exposed by an ODBC/JDBC connection is necessarily a subset of the full capabilities of BigQuery.
Current ODBC driver releases (188.8.131.523)
- Windows 32-bit (msi)
- Windows 64-bit (msi)
- Linux 32-bit and 64-bit (tar.gz)
- macOS (dmg)
- Release notes
- Install and configuration guide
Previous ODBC versions
Current JDBC driver releases (184.108.40.2065)
Previous JDBC versions
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. The BigQuery team does not provide direct engineering support for the drivers. Instead, the BigQuery team coordinates with the Magnitude Simba team as necessary to address reported issues.
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.