Fully managed cloud. 30-day FREE full featured trial. Start Now
cancel
Showing results for 
Search instead for 
Did you mean: 
exa-Aleksandr
Team Exasol
Team Exasol

Table of Contents

Scope

It is possible to read data from Google BiqQuery to Exasol using IMPORT FROM JDBC command. Steps to configure the connection are described in documentation: Loading Data from Google BigQuery.

However, with default settings for Simba BigQuery JDBC driver starting from version 1.3.0.1001 IMPORT FROM JDBC command might fail with error like

SQL Error [ETL-5]: JDBC-Client-Error: Failed to receive MetaData:
[Simba][BigQueryJDBCDriver](100032) Error executing query job.
Message: Transaction control statements are supported only in scripts or sessions
(Session: 1743494825607364608)

Explanation

The error is caused by the following change in the Simba BigQuery JDBC driver:

[GBQJ-566] Transaction API support

   The connector now supports JDBC transaction APIs. BigQuery supports 
   multi-statement transactions inside a single query, or across multiple 
   queries, when using sessions. For more information about transactions, see:
   https://cloud.google.com/bigquery/docs/reference/standard-sql/transactions.
   
   To use transaction APIs, and work with transactions across multiple 
   queries, set the EnableSession property to 1. For more information about
   sessions, see:
   https://cloud.google.com/bigquery/docs/sessions-intro    

Change log: release-notes_1.3.0.1001.txt

Recommendation

One might fix the above mentioned error by adding the following parameter to BiqQuery JDBC connection string:

EnableSession=1

So the full connection string will look like

jdbc:bigquery://https://www.googleapis.com/bigquery/v2:443;ProjectId=<your-project-id>;OAuthType=0;Timeout=10000;OAuthServiceAcctEmail=<your-service-account>;OAuthPvtKeyPath=/d02_data/<bucketfs-service>/<bucket-name>/<your-account-keyfile>;EnableSession=1;

Additional References

 

We're happy to get your experiences and feedback on this article below!