sfsqlの開始と停止

このトピックでは、 sfsql を使用してSnowflakeに接続し、クエリとDDL/DML ステートメントを実行するセッションを開始し、終了時にセッションを閉じる方法について説明します。

このトピックの内容:

Snowflakeへの接続とセッションの開始

Snowflakeに接続してセッションを開始するには、 sfsql スクリプトがあるディレクトリに移動し、次の構文を使用してスクリプトを実行します。

sfsql [ -u <user> ] [ -c <password> ] [ -d <database> ] [ -s <schema> ] ... [ -h ]

注釈

Linux環境では、スクリプト名の前にドットスラッシュを付ける必要があります(例: ./sfsql)。 client インストールディレクトリ以外のディレクトリからクライアントを起動する場合は、スラッシュの後にパスも含める必要があります。

パラメーター

接続パラメーター

login.defaults の同等パラメーター

説明

-g <host>

GSIP=<host>

接続先のホスト/IP。クライアントがSnowflakeからダウンロードされたときに、デフォルトで login.defaults に設定されます。

US 西部におけるアカウントの <host> の形式: <account_name>.snowflakecomputing.com

他のすべての地域におけるアカウントの <host> の形式: <account_name>.<region_id>.snowflakecomputing.com

-a <account_name>

ACCOUNT=<name>

接続先のSnowflakeアカウント。クライアントがSnowflakeからダウンロードされたときに、デフォルトで login.defaults に設定されます。

-u <user>

USER=<login_name>

接続するユーザーのログイン名。このパラメーターを指定する場合、 -c パラメーターも指定する必要があります。

-c <password>

PASSWORD=<password>

ユーザーのパスワード。

-b <authenticator>

AUTHENTICATOR=<authenticator>

認証には、Snowflakeの代わりに SAML 2.0準拠の IdP を使用します。

-r <role>

ROLE=<name>

Snowflakeのオブジェクトにアクセスするためにデフォルトで使用するロール(ログイン後に変更可能)。

-d <database>

DATABASE=<name>

デフォルトで使用するデータベース(ログイン後に変更可能)。

-s <schema>

SCHEMA=<name>

デフォルトで使用するデータベーススキーマ(ログイン後に変更可能)。

-w <warehouse>

WAREHOUSE=<name>

クエリ、ロードなどにデフォルトで使用する仮想ウェアハウス(ログイン後に変更可能)。

-f <sqlfile>

N/A

指定された SQL ファイルを実行します。このパラメーターが指定されていない場合、クライアントはインタラクティブモードで接続します。

-t

TRACING=<level>

ログレベル。

-y <proxy host>

PROXY_HOST=<host>

HTTP プロキシホスト。

-z <proxy port>

PROXY_PORT=<port>

HTTP プロキシホストのポート。

-m <mfa_passcode>

PASSCODE=<mfa_passcode>

MFA パスコード。

-n

PASSCODEINPASSWORD=true

MFA パスワードに埋め込まれたパスコード。

-k

EXITONERROR=true

エラーが発生した場合、クライアントを終了します。

-h

N/A

ログインパラメータのヘルプ(このリスト)。

注釈

login.defaults またはコマンドラインでログイン名またはパスワードを指定しない場合、クライアントはログイン時にそれらを入力するように求めます。

間違ったログイン名またはパスワードを入力すると、クライアントはSnowflakeに接続せず、HenPlus シェルコマンドラインを終了します。その後、再度ログインする前に、シェルを終了する必要があります(exitquit を入力するか、 [CTRL]-d キーボードコンボを使用します)。または、HenPlus シェルで、 connect の後に有効な JDBC 接続文字列を入力してログインできます。

ログイン中に、クライアントは、クライアントが使用する JDBC ドライバーのバージョンと、使用可能な最新バージョンのドライバー(使用中のバージョンと異なる場合)を表示します。この情報は、クライアントの問題をトラブルシューティングする際に役立ちます。

ログインに成功すると、コマンドラインはユーザーのログイン名とセッションが接続されているホストを <login_name>@snowflake:<account_name>.snowflakecomputing.com の形式で表示します。

次の例では、 user1 という名前のSnowflakeユーザーと xy12345 アカウントのパスワード 1234567a を使用して、 /Users/user1 という名前のディレクトリのLinuxまたは macOS 環境にインストールされたクライアントを起動します。

$ cd /Users/user1/client
$ ./sfsql -u user1 -c 1234567a

using GNU readline (Brian Fox, Chet Ramey), Java wrapper by Bernhard Bablok
henplus config at /Users/ybrenman/.henplus
----------------------------------------------------------------------------
 HenPlus II 0.9.8 "Yay Labor Day"
 Copyright(C) 1997..2009 Henner Zeller <H.Zeller@acm.org>
 HenPlus is provided AS IS and comes with ABSOLUTELY NO WARRANTY
 This is free software, and you are welcome to redistribute it under the
 conditions of the GNU Public License <http://www.gnu.org/licenses/gpl2.txt>
----------------------------------------------------------------------------
HenPlus II connecting
 url 'jdbc:snowflake://xy12345.snowflakecomputing.com:443/?account=xy12345&user=user1&ssl=on'
 driver version 2.3
 Snowflake - 1.0 (driver change version: 2.3.1, latest change version: 2.4.38)
no transactions.
 No Transaction *

user1@snowflake:xy12345.snowflakecomputing.com>

セッションのクローズとクライアントの終了

現在のSnowflakeセッションを閉じて sfsql を終了するには、コマンドラインで exit または quit と入力します。

Snowflakeセッションを閉じると、

  • すべてのインプロセスクエリと DDL/DML ステートメントはキャンセルされます。

  • セッション中に作成されたすべての一時テーブルは削除されます。

注釈

[CTRL]-d と入力すると、 sfsql は終了しますが、HenPlus シェルは閉じません。HenPlus シェルを閉じるには、 exit または quit (または [CTRL]-d を再入力)を入力する必要があります。