JDBC IMPORT from Snowflake

Padawan

Hello everyone,

Is there a way to import data to Exasol from Snowflake database? I am using Exasol docker version.

I have managed to put Snowflake JDBC Driver and Settings.cfg in my bucketfs with curl PUT command, but if I run the test SQL query just times out after certain amount of time and it does not return any results.

Here is my CREATE CONNECTION statement:

CREATE OR REPLACE CONNECTION snow_conn
    TO 'jdbc:snowflake://<account>.eu-central-1.snowflakecomputing.com:443/?db=<db_name>&warehouse=<warehouse_name>&schema=<schema_name>&role=<role_name>'
    USER '<snowflake_username>'
    IDENTIFIED BY '<snowflake_pass>';

Test statement:

select * from 
(
import from JDBC driver='SNOWFLAKE_JDBC_DRIVER' at snow_conn
statement 'select 1'
);

 

settings.cfg file looks like this:

DRIVERNAME=SNOWFLAKE_JDBC_DRIVER
JAR=snowflake-jdbc-3.12.9.jar
DRIVERMAIN=net.snowflake.client.jdbc.SnowflakeDriver
PREFIX=jdbc:snowflake:
FETCHSIZE=100000
INSERTSIZE=-1

 

If anyone can help I would really appreciate that. 

Thank you in advance!

2 REPLIES 2

Team Exasol
Team Exasol

@ikutle   In general you can also check connectivity directly from inside the database with the following helper script https://github.com/exasol/exa-toolbox/blob/master/utilities/README.md#check_connectivity 

Like @Charlie  pointed out most likely a network configuration issue.

Xpert

Have you tried to start a shell in the docker container and try to connect to the specified address?

 

# docker  exec -ti  exasoldb /bin/bash
[root@n11 /] ping <account>.eu-central-1.snowflakecomputing.com 
[root@n11 /] ssh -v <account>.eu-central-1.snowflakecomputing.com -p 443

Most likely your docker container is not allowed to communicate with the outside world.

You try to run the exasol container with the option "--network host" to enable internet access.