macOS用 ODBC ドライバーのインストールと構成

Windowsと同様に、 macOS は ODBC ベースのクライアントアプリケーションをSnowflakeに接続するために名前付きデータソース(DSNs)を利用します。

このトピックの内容:

前提条件

オペレーティングシステム

Snowflakeクライアントでサポートされているオペレーティングシステムのリストについては、 オペレーティングシステムのサポート をご参照ください。

iODBC

Mac用Snowflake ODBC ドライバーには iODBCが必要です。これは次からダウンロードできます。

iODBC をインストールするには、

  1. iODBC をダウンロードした後、ダウンロードした.dmgファイルをダブルクリックします。

  2. インストーラーファイル iODBC-SDK.pkg をダブルクリックし、プロンプトに従います。

注釈

iODBC は、ドライバーと DSNs を構成するための GUI 管理者ツールを提供します。ただし、このツールはSnowflakeでの使用についてはテストされていないため、 DSNs の作成または管理には使用しないでください。代わりに ODBC マネージャーを使用します。

ステップ1: ODBC ドライバーをインストールする

macOS のSnowflake ODBC ドライバーをインストールするには、

  1. ドライバーをまだダウンロードしていない場合は、今すぐダウンロードします。詳細については、 ODBC ドライバーのダウンロード をご参照ください。

  2. ダウンロードした.dmgファイル snowflake_odbc_mac-<バージョン>.dmg をダブルクリックします。

  3. インストーラーファイル snowflakeODBC_<バージョン>.pkg をダブルクリックし、プロンプトに従います。

    ドライバーをインストールするマシンの管理者/sudoパスワードの入力を求められる場合があります。

プロンプトが表示されたときにデフォルトのディレクトリを選択すると、インストーラーは次のディレクトリに ODBC ドライバーファイルをインストールします。

/opt/snowflake/snowflakeodbc

/Library/ODBC

ステップ2: ODBC ドライバーを構成する

macOS 用 ODBC ドライバーを構成するには、作成する DSN のタイプに応じて、次のファイルに保存される1つ以上のデータソース(DSNs)を作成します。

  • ユーザー DSNs : ~/Library/ODBC/odbc.ini

  • システム DSNs : /Library/ODBC/odbc.ini

DSN を作成するには、 ODBC マネージャーを使用するか、適切な odbc.ini ファイルを編集します。

ODBC マネージャーを使用した DSN の作成

ODBC マネージャーで DSN を作成するには、

  1. ODBC マネージャーを起動します。

  2. User DSN または System DSN をクリックします。

  3. Add ボタンをクリックします。

  4. 使用するドライバーを選択し(Snowflake)、 OK をクリックします。

  5. DSN の名前とオプションで説明を入力します。

  6. DSN パラメーターごとにキーワード/値のペアを作成します。

    1. Add をクリックして、キーワード/値のペアを作成します。

    2. Keyword を選択し、パラメーター名に置き換えます。

    3. Value を選択し、パラメーターの値に置き換えます。

    パラメーターごとにこのプロセスを繰り返します。各 DSNに設定できるパラメーターの詳細については、 ODBC 構成および接続パラメーター をご参照ください。

  7. OK をクリックして DSN を作成します。

ODBC ドライバーの最初のユーザーまたはシステム DSN を作成している場合、 ODBC マネージャーは、作成中の DSN のタイプに対応するディレクトリに odbc.ini ファイルを作成します。追加の DSNs を作成する場合、 ODBC マネージャーは各 DSN のエントリを既存の odbc.ini ファイルに追加します。

odbc.ini ファイルへのエントリの追加による DSN の作成

ユーザーまたはシステム DSN がドライバー用に既に作成されている場合、作成中の DSN のタイプに対応するディレクトリに既に存在する odbc.ini ファイルに、新しいエントリを追加します。ドライバーの最初の DSN を作成する場合は、 odbc.ini ファイルを手動で作成し、ファイルにエントリを追加する必要があります。

DSN ごとに、次を指定します。

  • <DSN名> = <ドライバー名> 形式の DSN 名とドライバー名(Snowflake) 。

  • Driver = /opt/snowflake/snowflakeodbc/lib/universal/libSnowflake.dylib 形式のドライバーファイルのディレクトリパスおよび名前。

  • server および uid (ユーザーログイン名)などの接続パラメーター。DSN に追加する接続パラメーターは、 ODBC 接続文字列で指定する必要はありません。

  • デフォルトの roledatabasewarehouse などの追加パラメーター。

パラメーターは <パラメーター名> = <値> 形式で指定されます。各 DSN に設定できるパラメーターの詳細については、 ODBC 構成および接続パラメーター をご参照ください。

次の例は、 server URL で異なる形式の アカウント識別子 を使用する、2つのデータソースを構成する odbc.ini ファイルを示しています。

  • testodbc1 はアカウント識別子として、組織 myorganization でアカウント myaccount を指定する アカウント識別子 を使用します。

  • testodbc2 は、アカウント識別子として アカウントロケーター xy12345 を使用します。

    testodbc2 は、 AWS US 西部(オレゴン)リージョンのアカウントを使用しています。アカウントが別のリージョンにある場合、またはアカウントが別のクラウドプロバイダーを使用している場合は、 アカウントロケーターの後に追加のセグメントを指定する 必要があります。

    [ODBC Data Sources]
    testodbc1 = Snowflake
    testodbc2 = Snowflake
    
    
    [testodbc1]
    Driver      = /opt/snowflake/snowflakeodbc/lib/universal/libSnowflake.dylib
    Description =
    uid         = peter
    server      = myorganization-myaccount.snowflakecomputing.com
    role        = sysadmin
    
    
    [testodbc2]
    Driver      = /opt/snowflake/snowflakeodbc/lib/universal/libSnowflake.dylib
    Description =
    uid         = mary
    server      = xy12345.snowflakecomputing.com
    role        = analyst
    database    = sales
    warehouse   = analysis
    

次の点にご注意ください。

  • testodbc1testodbc2 の両方に既定のロールがあること

  • testodbc2 にも、既定のデータベースとウェアハウスがあること

ステップ3: ODBC をテストする

iODBC に付属の iodbctest コマンドラインユーティリティを使用して、作成した DSNs をテストできます。

ODBC 接続文字列の入力を求められたら、必要な接続パラメーター(DSN 名、サーバー、ユーザーログイン名、パスワード)、および接続文字列の一部として入力する他のパラメーターを入力します。接続文字列は、 dsn=testodbc2 などの <パラメーター名>=<値> 形式を持つパラメーターを受け入れます。各パラメーターは、セミコロン(;)で区切られ、空白は含まれません。サポートされているパラメーターのリストについては、 ODBC 構成および接続パラメーター をご参照ください。

注釈

サーバーとユーザーログイン名を DSN に設定した場合、接続文字列に必要なパラメーターは DSN 名とユーザーパスワードのみです。

例:

$ iodbctest

iODBC Demonstration program
This program shows an interactive SQL processor
Driver Manager: 03.52.0607.1008

Enter ODBC connect string (? shows list): dsn=testodbc2;pwd=<password>

Dec 14 20:16:08 INFO  1299 SFConnection::connect: Tracing level: 4

Driver: 2.12.36 (Snowflake - Latest version supported by Snowflake: 2.12.38)

SQL>