クライアント システム上で実行するTeradata埋め込みSQLプリプロセッサは、Teradata Databaseへの接続を確立することが必要です。接続は、プリコンパイル時および実行時の両方で必要です。
プリコンパイル時に確立されるTeradata Databaseへのプリプロセッサ接続と、実行時にアプリケーションによって確立される接続との間には関連はありません。それらは別々のイベントです。
ホスト アプリケーション プログラムのSQL内に埋め込まれたLOGONおよびCONNECT文は、プリプロセッサ接続に対しては影響がありません。
プリプロセッサ接続
プリプロセッサは、Teradata Databaseに接続しなくてもアプリケーションに対して実行することができます。
SQLCHECKまたは-scオプションを以下のように指定 | プリプロセッサ |
---|---|
NOSYNTAX | Teradata Databaseへの接続を必要としません。 |
|
Teradata Databaseへの接続を必要とします。 |
Teradata Databaseへのプリプロセッサ接続は、tdpidまたは-t、およびuseridまたは-uプリプロセッサ オプションを使用して確立することができます。
ユーザーID を指定せず、プリプロセッサがIBM メインフレーム環境で実行している場合は、暗黙の接続が試行されます。
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つを使って、アプリケーションは現在のトランザクションを明示的に終了しなければなりません。
|
- 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>を参照してください。