Starten und Stoppen von sfsql

Unter diesem Thema wird beschrieben, wie Sie mit sfsql eine Verbindung zu Snowflake herstellen, eine Sitzung initiieren, um Abfragen und DDL/DML-Anweisungen auszuführen, und die Sitzung schließen, wenn Sie fertig sind.

Unter diesem Thema:

Verbinden mit Snowflake und Starten einer Sitzung

Um sich mit Snowflake zu verbinden und eine Sitzung zu starten, navigieren Sie zu dem Verzeichnis, in dem sich das sfsql-Skript befindet, und führen Sie das Skript mit der folgenden Syntax aus.

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

Bemerkung

In einer Linux/Unix-Umgebung müssen Sie dem Skriptnamen Punkt und Schrägstrich voranstellen, z. B. ./sfsql. Wenn Sie den Client aus einem anderen Verzeichnis als dem client-Installationsverzeichnis starten, müssen Sie nach dem Schrägstrich auch den Pfad angeben.

Parameter

Verbindungsparameter

Äquivalent in login.defaults

Beschreibung

-g <Host>

GSIP=<Host>

Host/IP, zu dem die Verbindung erfolgen soll. Standardmäßig auf login.defaults eingestellt, wenn der Client von Snowflake heruntergeladen wurde.

Format von <Host> für Konten in US West: <Kontoname>.snowflakecomputing.com

Format von <Host> für Konten in allen anderen Regionen: <Kontoname>.<Regions-ID>.snowflakecomputing.com

-a <Kontoname>

ACCOUNT=<Name>

Snowflake-Konto, mit dem die Verbindung erfolgen soll. Standardmäßig auf login.defaults eingestellt, wenn der Client von Snowflake heruntergeladen wurde.

-u <Benutzer>

USER=<Anmeldename>

Anmeldename des Benutzers, mit dem die Verbindung erfolgen soll. Wenn dieser Parameter angegeben wird, sollte auch der Parameter -c angegeben werden.

-c <Kennwort>

PASSWORD=<Kennwort>

Kennwort für den Benutzer.

-b <Authentifikator>

AUTHENTICATOR=<Authentifikator>

Verwenden Sie zur Authentifizierung einen SAML 2.0-kompatiblen IdP anstelle von Snowflake.

-r <Rolle>

ROLE=<Name>

Rolle, die standardmäßig für den Zugriff auf Objekte in Snowflake verwendet wird (kann nach der Anmeldung geändert werden).

-d <Datenbank>

DATABASE=<Name>

Standardmäßig zu verwendende Datenbank (kann nach der Anmeldung geändert werden).

-s <Schema>

SCHEMA=<Name>

Standardmäßig zu verwendendes Datenbankschema (kann nach der Anmeldung geändert werden).

-w <Warehouse>

WAREHOUSE=<Name>

Virtuelles Warehouse, das standardmäßig für Abfragen, Laden usw. verwendet wird (kann nach der Anmeldung geändert werden).

-f <sqlfile>

N/A

Führt die angegebene SQL-Datei aus. Wenn dieser Parameter nicht angegeben ist, verbindet sich der Client im interaktiven Modus.

-t

TRACING=<Ebene>

Protokolliergrad.

-y <Proxy-Host>

PROXY_HOST=<Host>

HTTP-Proxy-Host.

-z <Proxy-Port>

PROXY_PORT=<Port>

Port für HTTP-Proxy-Host.

-m <MFA-Kennung>

PASSCODE=<MFA-Kennung>

MFA-Kennung.

-n

PASSCODEINPASSWORD=true

MFA-Kennung, die in das Kennwort eingebettet ist.

-k

EXITONERROR=true

Client wird bei Auftreten eines Fehlers verlassen.

-h

N/A

Hilfe zu den Anmeldeparametern (z. B. diese Liste).

Bemerkung

Wenn Sie weder in login.defaults noch in der Befehlszeile einen Anmeldenamen oder ein Kennwort angeben, fordert Sie der Client bei der Anmeldung zur Eingabe auf.

Wenn Sie einen falschen Anmeldenamen oder ein falsches Kennwort eingeben, stellt der Client keine Verbindung zu Snowflake her und beendet die HenPlus-Shell-Befehlszeile. Sie müssen dann die Shell verlassen (indem Sie exit, quit eingeben oder die Tastaturkombination [CTRL]-d verwenden), bevor Sie versuchen, sich erneut anzumelden. Oder Sie können in der HenPlus-Shell zum anmelden connect eingeben, gefolgt von einer gültigen JDBC-Verbindungszeichenfolge.

Während der Anmeldung zeigt der Client die Version des vom Client verwendeten JDBC-Treibers sowie die neueste verfügbare Version des Treibers an (falls diese von der verwendeten Version abweicht). Diese Informationen können bei der Lösung von Clientproblemen nützlich sein.

Nach erfolgreicher Anmeldung zeigt die Befehlszeile den Anmeldenamen des Benutzers und des Hosts an, mit dem die Sitzung verbunden ist: <Anmeldename>@snowflake:<Kontoname>.snowflakecomputing.com.

Beispiel

Im folgenden Beispiel wird der Client gestartet, der in einer Linux- oder macOS-Umgebung in einem Verzeichnis namens /Users/user1 mit einem Snowflake-Benutzer namens user1 und einem Kennwort 1234567a für das xy12345-Konto installiert ist:

$ 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>

Schließen einer Sitzung und Beenden des Clients

Um die aktuelle Snowflake-Sitzung zu schließen und sfsql zu beenden, geben Sie exit oder quit auf der Befehlszeile ein.

Wenn Sie eine Snowflake-Sitzung schließen:

  • Alle in Ausführung befindlichen Abfragen und DDL/DML-Anweisungen werden abgebrochen.

  • Alle temporären Tabellen, die während der Sitzung erstellt wurden, werden gelöscht.

Bemerkung

Die Eingabe von [CTRL]-d beendet sfsql, schließt aber die HenPlus-Shell nicht. Sie müssen dann exit oder quit (oder erneut [CTRL]-d) eingeben, um die HenPlus-Shell zu schließen.