2020.1 Snowflake ODBC Driver: Initial Preview Release - Early Software Access Program (ESAP) - DataDirect CVP - Progress Community
 Early Software Access Program (ESAP)

2020.1 Snowflake ODBC Driver: Initial Preview Release

  • About Snowflake and the Snowflake ODBC driver

    Snowflake is a cloud data platform that focuses on data warehousing, analytics and data lakes. 

    As Snowflake is gaining popularity, many of our customers and prospects are reporting a gap in the market for a stable and reliable solution for ODBC connectivity to Snowflake. The Progress DataDirect Snowflake ODBC driver will allow you to connect to your Snowflake data warehouse from any BI and/or ETL tool which supports standard ODBC connectivity.

    Release Highlights:

    The driver will support all the CRUD operations supported by Snowflake. The driver is ODBC Standard 3.8 compliant and utilizes the SQL Engine capabilities of Snowflake for query execution.

    You can download the User's Guide and other relevant documentation for this driver along with the installer package from the URLs listed in the Download Information sections below.

    The documentation will talk in detail about the minimum requirements, steps to configure the driver, and connection options supported by the driver. The readme file contains the release highlights and some of the functionality that is not part of this preview release. 

    Features which are not part of the preview (but may be considered for GA)

    1. Authentication: ADFS (Active Directory Federation Services), OAUTH and multi-factor Authentication
    2. Transaction support
    3. Other OS platforms that are not Windows or Linux.

    Minimum requirements for Setup:

    1. Driver requires Java 1.8 or higher to work – Java 1.8 is installed during the installation process.
    2. Connection options required to connect to Snowflake are:

    AccountName  – Specifies the full name of your account and region where it is hosted.

    DatabaseName – Specifies the name of a Snowflake database.

    Schema – Specifies the default schema to use for a database once connected or an empty string. The specified schema should be an existing schema for which the default role has privileges. Alternatively USE SCHEMA command to change or update the Schema.

    Warehouse – Specifies the virtual warehouse to use once connected, or an empty string. The specified warehouse should be an existing warehouse for which the default role has privileges.

    UserID – Snowflake UserID

    Password – Password for the specified user connecting to Snowflake

    Sample Connection string "Driver=Datadirect 8.0 Snowflake Preview Driver; AccountName=progress_software.us-east1;LogonID=<UserID>;Password<PWD><DatabaseName=<SnowflakeDBname>;Schema=<SnowflakeSchema>;Warehouse=<Snowflakewarehouse>"

    Installation Guides:

    Windows: https://documentation.progress.com/output/DataDirect/odbcinstallhelp/index.html#page/odbcinstallhelp%2Finstalling-from-downloaded-files.html%23

    Linux: https://documentation.progress.com/output/DataDirect/odbcinstallhelp/index.html#page/odbcinstallhelp%2Finstallation-on-unix-and-linux.html%23

    Installation Notes:

    1. On windows, run the installation “as Administrator”.
    2. The preview installation will expire in 15 days after it is installed. No control numbers are required.
    3. For Serial Number you can enter in a numeric value 1.
    4. Use the “example” program to test your connection and setup. The example program is present in <installation directory>\samples\example\ path. Run this application and provide your Snowflake DSN Name, User ID and Password to Connect.

    Use Case:

    1. ODBC compliant applications needing connectivity to Snowflake to perform CRUD operations
    2. BI tools for data analysis.
    3. ETL tools performing operations (loading/reading) on data in Snowflake.

    Download Information:

    Snowflake User's Guide: https://progress.thruinc.net/Publishing/Link.aspx?LinkID=0SSHQVOUTMPDL

    Windows:

    Linux:

    Feedback:

    1. Are you able to use the driver out of the box for your Snowflake connectivity?  If not, details about the challenges you faced/are facing.
    2. What OS platforms are a must have for you to use this driver effectively?
    3. What features do you feel are missing in the preview driver build and why do you believe they are important?
    4. What are your primary use cases and is this driver solving them?
    5. Is the driver's performance acceptable for your primary use case (loading records and fetching data)?  If not, please provide details on your use case, operation being performed, data size and expectation.
  • I think it would be helpful to have documentation on where to find the Account Name within the Snowflake console and how it is formatted. I had to look up the docs for Snowflake's JDBC driver. Maybe a screen shot or something similar to the Account Name by Region table docs.snowflake.net/.../jdbc-configure.html

    From what I have found, if your URL to Snowflake is:

    company.us-east-1.snowflakecomputing.com/

    the username would be:

    company.us-east-1

    Thanks,

    Aaron

  • I too was briefly stumped by this field, though I admit I didn't read the documentation - I just assumed that it was the same as the SERVER keyword in the Snowflake-supplied ODBC driver, where you supply the full URL.  when I saw the error (which showed problems connecting to company.us-east-1.snowflakecomputing.com.snowflakecomputing.com) I realized to drop the .snowflakecomputing.com part.

  • I have noted the feedback and will be updating the Document with more detailed information for ACCOUNT NAME.

  • My client is testing the new driver and while the connection to Snowflake presentation layer (production) is working fine. The connection to staging layer (sandbox) is causing problems. Either no preview of the data is available at all or the data starts to load but fails after a few (thousand) records. One difference between the two layers is that the staging layer uses S3 in the back-end which the presentation layer doesn't. Not sure if the error goes back to S3 or to the sandbox environment (staging layer) or the combination of both. Any know limitations with staging layer (Snowflake sandbox environment) and/ore S3?

  • We are not aware of any limitations with Snowflake running in Production vs Sandbox Environment. Is it possible to get access to your Snowflake Sandbox account and run tests on it.

    Also let us know if it is possible to get on a call with your client and understand the issue better?

    Regards

    Kumar Vikesh