CONNECT - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQLストアド プロシージャおよび埋め込みSQL

Product
Advanced SQL Engine
Teradata Database
Release Number
17.05
17.00
Published
2020年6月
Language
日本語
Last Update
2021-03-30
dita:mapPath
ja-JP/xqq1557098602407.ditamap
dita:ditavalPath
ja-JP/xqq1557098602407.ditaval
dita:id
B035-1148
Product Category
Software
Teradata Vantage

目的

クライアント アプリケーションからTeradata Databaseへ接続します。

呼び出し

実行可能形式。

埋め込みSQLのみ。

構文

CONNECT [:] user_id_variable
  IDENTIFIED BY [:] password_variable
  [ AS { connection_name | :connection_name_variable } ]
user_id_variable
接続に使用されるTeradata DatabaseのユーザーIDを含むホスト変数。
ユーザーIDは最大8 文字に制限されています。
password_variable
指定したユーザーIDのパスワードを含むホスト変数。
パスワードは最大8文字に制限されています。
この変数での先行コロン文字の使用は任意指定です。
接続に使用されるtdpidは、システム デフォルトです。CONNECTに対して明示のtdpidを指定することはできません。
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 for Embedded SQLプログラマ ガイド、B035-2446>を参照してください。
  • クライアント アプリケーション プログラムからTeradata Databaseに接続する代替方法については、LOGONを参照してください。
  • CONNECTまたはLOGON文を使用しないでプリプロセッサをTeradata Databaseに接続するための方法については、<Teradata® Preprocessor2 for Embedded SQLプログラマ ガイド、B035-2446>を参照してください。
  • CONNECT文を簡単に理解できる例については、例1: ホスト変数を使用したログオン例2、および例3を参照してください。