启动和停止 sfsql – 已过时

本主题介绍如何使用 sfsql 连接到Snowflake、启动会话来执行查询和 DDL/DML 语句,以及在完成后关闭会话。

本主题内容:

连接到 Snowflake 并启动会话

要连接到 Snowflake 并启动会话,请导航到 sfsql 脚本所在的目录并使用以下语法执行该脚本。

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

备注

在 Linux 环境中,必须在脚本名称前添加点斜杠,例如 ./sfsql。如果从 client 安装目录以外的任何目录启动客户端,则还必须在正斜杠后包含路径。

参数

连接参数

login.defaults 中的等效内容

描述

-g <host>

GSIP= <host>

要连接的主机/IP。从 Snowflake 下载客户端时,在 login.defaults 中默认设置。

US 西部账户的 :code:` <host>` 格式:<account_name>.snowflakecomputing.cn

所有其他区域中账户的 :code:` <host>` 格式:<account_name>.<region_id>.snowflakecomputing.cn

-a <account_name>

ACCOUNT= <name>

要连接的 Snowflake 账户。从 Snowflake 下载客户端时,在 login.defaults 中默认设置。

-u <user>

USER= <login_name>

要连接的用户的登录名。如果指定了该参数,则还应指定 -c 参数。

-c <password>

PASSWORD= <password>

用户的密码。

-b <authenticator>

AUTHENTICATOR= <authenticator>

使用兼容 SAML 2.0 的 IdP(而不是 Snowflake)进行身份验证。

-r <role>

ROLE= <name>

默认情况下用于访问 Snowflake 中的对象的角色(登录后可以更改)。

-d <database>

DATABASE= <name>

默认使用的数据库(登录后可以更改)。

-s <schema>

SCHEMA= <name>

默认使用的数据库架构(登录后可以更改)。

-w <warehouse>

WAREHOUSE= <name>

默认用于查询、加载等的虚拟仓库(登录后可更改)。

-f <sqlfile>

不适用

执行指定的 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

不适用

登录参数的帮助(即此列表)。

备注

如果您未在 login.defaults 或命令行中指定登录名或密码,则客户端会在登录期间提示您输入它们。

如果您提供的登录名或密码不正确,客户端将不会连接到 Snowflake 并退出到 HenPlus shell 命令行。然后,您必须退出 shell(通过输入 exitquit 或使用 [CTRL]-d 键盘组合),然后尝试再次登录。或者,在 HenPlus shell 中,您可以输入 connect,后跟有效的 JDBC 连接字符串以登录。

登录时,客户端会显示客户端使用的 JDBC 驱动程序的版本,以及驱动程序的最新可用版本(如果与正在使用的版本不同)。此信息在对客户端问题进行故障排除时非常有用。

成功登录后,命令行以 :code:` <login_name>@snowflake:<account_name>.snowflakecomputing.cn` 的形式显示用户的登录名和会话连接的主机。

示例

以下示例启动安装在 Linux 或 macOS 环境中名为 /Users/user1 的目录中的客户端,其中包含名为 user1 的 Snowflake 用户和 xy12345 账户的密码 1234567a

$ 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.cn: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.cn>
Copy

关闭会话并退出客户端

要关闭当前 Snowflake 会话并退出 sfsql,请在命令行中输入 exitquit

当您关闭 Snowflake 会话时:

  • 所有正在进行的查询和 DDL/DML 语句都将取消。

  • 会话期间创建的所有临时表都将删除。

备注

输入 [CTRL]-d 将退出 sfsql,但不会关闭 HenPlus shell。然后您必须输入 exitquit (或再次输入 [CTRL]-d)关闭 HenPlus shell。

语言: 中文