目的
クライアント アプリケーションからTeradata Databaseへ接続します。
呼び出し
実行可能形式。
埋め込みSQLのみ。
構文
- user_id_variable
- 接続に使用されるTeradata DatabaseのユーザーIDを含むホスト変数。
- password_variable
- 指定したユーザーIDのパスワードを含むホスト変数。
- connection_name
- 接続の名前を指定します。
- :connection_name_variable
- 接続名を含んでいるホスト変数を指定します。
ANSI準拠
CONNECTは、ANSI/ISO SQL:2011規格に対するTeradataの拡張機能です。
CONNECTはANSI/ISO SQL:2011規格で定義されていますが、ANSI形式のCONNECTは構文がやや異なっています。
許可
なし。
CONNECTとLOGONとの相違
CONNECT とLOGON との相違は、LOGON がTeradata SQL ログオン文字列のTDP IDやアカウントIDなどの、任意の指定可能な要素を指定できるのに対して、CONNECT はユーザーIDとパスワードの指定しかできません。
Teradata DatabaseへのSQL CONNECTおよびプリプロセッサ接続
CONNECT文は、Teradata Databaseへのプリプロセッサ接続には効果はありません。
暗黙的な接続と明示的な接続の相違点
明示接続では、どのTDPおよびユーザーIDに接続するかについて精密に制御することができますが、暗黙接続では、TDPおよびユーザーIDのシステム デフォルトを使用します。この理由から、デフォルト以外のTDPまたはユーザーIDに接続する必要がある場合はいつでも、明示接続を確立する必要があります。
明示接続は、デフォルトのTDPおよびユーザーIDが接続の確立に十分なものである場合でも、精密な制御を提供するので望ましいと言えます。
一般ルール
- CONNECT文の使用は、任意選択です。アプリケーション プログラムがTeradata Databaseへのアクセスを必要とする任意のSQL文を実行しており、そのプログラムが現在はTeradata Databaseに接続されていない場合、暗黙接続が試行されます。
- アプリケーション プログラムが、Teradata Databaseにすでに接続されている場合にCONNECT文を実行すると、前の接続は切断されます。
- user_id-variableおよびpassword_variableの両方とも、8文字の固定長文字列として定義されているホスト変数でなければなりません。(ユーザーID またはパスワードが8 文字未満の場合は、埋め込み文字を使用してユーザーID またはパスワードを8 文字の長さにしてください)。
- CONNECTは、動的文としては実行できません。
- アプリケーション プログラムは、指定したユーザーIDおよびパスワードを使用してTeradata Databaseに接続します。
AS (connection_name |:connection_name_variable)句のルール
- connection_nameは固有でなくてはならず(最大30バイト)、大文字小文字を区別します。
- 現在のアクティブな接続が接続名を持っていなかった場合、次の接続には接続名を含めることができません。
含めた場合、接続試行が拒否されたことを示す実行時エラーが返されます。
現在のアクティブな接続は変更されないままです。
- :connection_name_variableは、30バイト以内の固定長または可変長文字変数でなければなりません。
関連トピック
以下に関する詳細な情報
- CONNECT文の詳細については、<Teradata® Preprocessor2埋め込みSQLプログラマ ガイド、B035-2446>を参照してください。
- クライアント アプリケーション プログラムからTeradata Databaseに接続する代替方法については、LOGONを参照してください。
- CONNECTまたはLOGON文を使用しないでプリプロセッサをTeradata Databaseに接続するための方法については、<Teradata® Preprocessor2埋め込みSQLプログラマ ガイド、B035-2446>を参照してください。
- CONNECT文を簡単に理解できる例については、例1: ホスト変数を使用したログオン、例2、および例3を参照してください。