16.20 - クライアント アプリケーションからTeradata Databaseへの接続 - Teradata Vantage NewSQL Engine

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

prodname
Teradata Database
Teradata Vantage NewSQL Engine
vrm_release
16.20
category
プログラミング リファレンス
featnum
B035-1148-162K-JPN

クライアント システム上で実行するTeradata埋め込みSQLプリプロセッサは、Teradata Databaseへの接続を確立することが必要です。接続は、プリコンパイル時および実行時の両方で必要です。

プリコンパイル時に確立されるTeradata Databaseへのプリプロセッサ接続と、実行時にアプリケーションによって確立される接続との間には関連はありません。それらは別々のイベントです。

ホスト アプリケーション プログラムのSQL内に埋め込まれたLOGONおよびCONNECT文は、プリプロセッサ接続に対しては影響がありません。

プリプロセッサ接続

プリプロセッサは、Teradata Databaseに接続しなくてもアプリケーションに対して実行することができます。

SQLCHECKまたは-scオプションを以下のように指定 プリプロセッサ
NOSYNTAX Teradata Databaseへの接続を必要としません。
  • FULL (またはFULLをデフォルトとして使用)
  • SQLFLAGGER(ENTRY)
Teradata Databaseへの接続を必要とします。

Teradata Databaseへのプリプロセッサ接続は、tdpidまたは-t、およびuseridまたは-uプリプロセッサ オプションを使用して確立することができます。

ユーザーID を指定せず、プリプロセッサがIBM メインフレーム環境で実行している場合は、暗黙の接続が試行されます。

メインフレーム バージョン場合、メインフレーム上で少なくとも1つのTDPが起動していなければ、たとえデータへのアクセスが不要の場合(つまりNOSYNTAX)でもPreprocessor2は機能しません。メインフレーム上でTDPが起動していない状態でプリコンパイルのステップが終了した場合、Preprocessor2により次のようなメッセージが出力されます。
SPP9980 Fatal Error:
        Unexpected CLI return 280 on DBCHINI call

実行時の実行接続

Teradata Databaseへの実行時の接続は、明示または暗黙に確立されます。

セッション用に設定されるTRANSACTまたは-trプリプロセッサ トランザクション モードは、接続の確立時に(明示または暗黙に)設定されます。

トランザクション モードは、その確立されたセッションのアプリケーション用に設定されたTRANSACTまたは-trプリプロセッサ オプションに基づいています。

完了の条件

実行時接続が成功すると、以下の完了コードが返されます。
  • SQLCODE = 0
  • SQLSTATE = ‘00000’
  • SQLCAフィールドSQLWARN0およびSQLWARN2 = W (Teradataモードのみ)

明示接続

アプリケーションは、Teradata Databaseへの接続を、CONNECTまたはLOGON文によって明示的に指定することができます。

明示接続では、どのTDPおよびユーザーIDに接続するかについて精密に制御することができますが、暗黙接続では、TDPおよびユーザーIDのシステム デフォルトを使用します。この理由から、デフォルト以外のTDPまたはユーザーIDに接続する必要がある場合はいつでも、明示接続を確立する必要があります。

明示接続は、デフォルトのTDPおよびユーザーIDが接続の確立に十分なものである場合でも、精密な制御を提供するので望ましいと言えます。

明示接続のリクエストが出されたときの状態 結果
アプリケーションがすでにTeradata Databaseに接続している 新規接続が試行される前に、前の接続が切断される。
トランザクションがアクティブである 接続リクエストは拒否され、SQLCODE -752が出力される。
新しい明示接続リクエストを出す前に、以下のいずれか1つを使って、アプリケーションは現在のトランザクションを明示的に終了しなければなりません。
  • COMMIT
  • ROLLBACK (またはABORT)
  • LOGOFF
Teradata Databaseへのすべての明示接続には、以下のものが必要です。
  • TDP ID
  • ユーザーID
  • パスワード

TDP IDおよびユーザーIDプリプロセッサ オプションは、実行時のアプリケーションのログオンには影響を与えません。

デフォルトのTDP ID

tdpidを指定しない場合、接続はシステム デフォルトのtdpidを使用して確立されます。

次のプラットフォーム上で実行しているアプリケーション その場合のデフォルトTDP
IBMメインフレーム HSHSPBデータ領域モジュールから入手します
ワークステーション接続システム mtdpid、ユーザー定義のclispb.datファイルまたはCLI2SPBデータ領域から入手します。

暗黙接続

IBMメインフレーム環境で実行する埋め込みSQLアプリケーションが、Teradata Databaseへの明示接続を指定せずにSQLリクエストを出す場合は、アプリケーションが実行しているジョブまたはセッションに基づいて暗黙接続が試行されます。

LAN接続のプラットフォームは、暗黙接続を許可ない

関連トピック

以下に関する詳細な情報
  • プリプロセッサの呼び出しオプションは、<Teradata® Preprocessor2埋め込みSQLプログラマ ガイド、B035-2446>を参照してください。
  • ユーザーIDのセキュリティ、TDP ID、およびユーザーIDについては、<Teradata® TDPリファレンス、B035-2416>を参照してください。
  • HSHSPBデータ領域モジュールから入手したデフォルトのTDP IDについては<Teradata® CLI V2リファレンス-メインフレーム接続システム、B035-2417>を参照してください。
  • 暗黙接続メカニズムについて、<Teradata® CLI V2リファレンス-ワークステーション接続システム、B035-2418>を参照してください。