DBCHQEは、問合わせ機能であり、ユーザーがログオン前にデータベースからシステムのデフォルト情報を要求することを可能にします。したがって、セッションの開始前に変更を行なうことができます。
セッションごとに取得されるSession Character Set(セッション文字セット)は、セッションへのログオンが済んでからでないと取得できません。
パラメータ
DBCHQE (ReturnCode, ContextArea, DBCHQEP) | |
Int32 | *ReturnCode |
Int32 | *ContextArea |
Int32 | *DBCHQEP |
次のような場合に当てはまります。
パラメータ | 内容 |
---|---|
ReturnCode | アプリケーション プログラムが4バイトの符号付き整数の記憶域として割り当てた領域の4バイト アドレス。 |
ContextArea | CLIで使用されない4バイトのアドレス。 ContextAreaは、メインフレームとの互換性を維持するために備えられています。 |
DBCHQEP | DBCHQEP構造体の4バイトのアドレス。 この構造体のいくつかは、クエリー情報を要求するために、アプリケーション プログラムによって書き込まれる必要がある。クエリーの結果は、この構造体に書き込まれてアプリケーションに送り返される。 |
DBCHQEP構造体
フィールド | データ型 | 説明 |
---|---|---|
qepLevel | unsigned char | パラメータ リストの符号無し数値形式。サポートされる値は次のとおり。
|
qepItem | unsigned char | 有効な項目コードおよびその説明については、qepItemフィールドを参照してください。 |
qepTLen | unsigned short | クエリーに使用されるTDPID lengthおよびTDPID name(dbcname)に設定しなければなりません。 |
qepTDP | long | クエリーに使用されるTDPID lengthおよびTDPID name(dbcname)に設定しなければなりません。 |
qepRsv1[4] | char | 予約済み |
qepRALen | unsigned short | クエリーの結果が返される領域の長さを表わす符号無し数値。呼び出し側が供給します。 |
qepRDLen | unsigned short | 返されるデータの長さを表わす符号無し数値。CLIはこのフィールドに、qepRAreaで返されたデータ長を書き込む。 返されるデータの長さ(qepRALenフィールドに指定されている領域のサイズまで)に設定します。 |
*qepRArea | void | クエリーの結果が返される領域へのポインタ。 この領域の長さは、アプリケーションがqepRALenに設定します。 |
qepRsv2 | unsigned short | 予約済み |
qepMLen | unsigned short | 予約済み |
qepMsg | char | 予約済み |
qepConn | long | セッション番号 |
qepMLid | char[2] | 要求に関連付けられているCLIエラー メッセージで使用する言語を指定します。
|
*qepMsgP | char | エラー メッセージが配置される領域を指すポインタ。領域はアプリケーションで割り当てる。 |
qepMsgM | unsigned short | QepMsgPで指される領域の符号無し数値形式での長さ(バイト数)。 |
qepRC | unsigned short | DBCHQEPの処理中に発生した、符号無し数値形式のCLI戻りコード。 |
qepRMRC | unsigned short | メッセージの作成中に発生したエラーに対する符号無し数値形式のCLI戻りコード。
2つのエラーが同時に発生した場合、返される結果は2つの戻りコードのビット単位の'or'になる。例えば、使用されているlangidがデフォルトで、メッセージを返すときにオーバーフローが発生した場合、出力は次のようになる。 QEPRC = 2 | 1 = 3 |
qepRMLen | unsigned short | QEPMSGPでアドレス指定されている領域に返されるメッセージの、符号無し数値形式での長さ(バイト数)。 |
*qepConnStrP | Char | 接続文字列を含むバッファへのポインタ。 |
qepConnStrLen | 符号無し整数 | 接続文字列を含むバッファの数値形式での長さ(バイト数)。 |
qepItemフィールド
以下のように、要求のタイプを示す値を設定する必要があります。
フィールド | 値 | 説明 |
---|---|---|
QEPIIID | 1 | サポートされない |
QEPISC | 2 | デフォルトのセッション文字セットの名前を返す。DBCHQEはデフォルト文字セットを含む30バイト文字列を返すため、戻り値の領域は最低30バイト必要。他の要求はすべて1バイトのみの応答領域を必要とする。 qepConnフィールドに指定されているCLIv2セッション番号のセッションを参照します。 |
QEPIFTSM | 3 | トランザクション セマンティックス Teradataトランザクション セマンティックスのサポートを示すために、qepRAreaが指す領域に'N'または'Y'を返します。 TDP識別子がqepTDPフィールドに指定され、長さがqepTLenフィールドに指定されているデータベース システムを参照する。 |
QEPIFLCS | 4 | 言語適合性 どの種類のSQLがサポートされるかを示すために、qepRAreaが指す領域に以下の値を返します。
TDP識別子がqepTDPフィールドに指定され、長さがqepTLenフィールドに指定されているデータベース システムを参照する。 |
QEPIFUCR | 5 | 更新可能なカーソル 更新可能なカーソルのサポートを示すために、qepRAreaが指す領域に'N'または'Y'を返します。 TDP識別子がqepTDPフィールドに指定され、長さがqepTLenフィールドに指定されているデータベース システムを参照する。 |
QEPIFRFI | 6 | 参照整合性 参照整合性のサポートを示すために、qepRAreaが指す領域に'N'または'Y'を返します。 TDP識別子がqepTDPフィールドに指定され、長さがqepTLenフィールドに指定されているデータベース システムを参照する。 |
QEPIDTSM | 7 | 識別されたデータベースのデフォルトのトランザクション セマンティックスを、qepRAreaが指す領域に1バイト文字(AまたはT)で返す。 TDP識別子がqepTDPフィールドに指定され、長さがqepTLenフィールドに指定されているデータベース システムを参照する。 |
QEP64K | 8 | 64Kパーセル 64Kパーセルのサポートを示すために、qepRAreaが指す領域に'N'または'Y'を返します。 TDP識別子がqepTDPフィールドに指定され、長さがqepTLenフィールドに指定されているデータベース システムを参照する。 |
QEPICL2R | 9 | リリース識別子 使用されているCLIのリリース識別子を返します。 リリース識別子は、それぞれピリオドで区切られた2文字のメジャー リリース識別子、2文字のマイナー リリース識別子、2文字のメンテナンス リリース識別子から構成される11文字の値。最後の3文字は通常ブランクだが、そうでない場合、ピリオド区切り記号、その後に2文字のEタイプ識別子が続く。 データの内容はCLIの機能性を下げるものではなく、現行のCLIリリース識別子を提供するに過ぎません。
|
QEPISPF | 10 | 並列性 サーバーが内部的に使用する並列処理の程度を示す点の値を、qepRAreaが指す領域に4バイトの符号無し整数で返します。
|
QEPIDMSS | 11 | 最大パーセル サイズ サーバーがサポートするセグメントの最大サイズを示す4バイト値を返します。 セグメントは、最大パーセル サイズを超える特殊な要求を分割するために使用されます。 |
QEPITDPR | 12 | メインフレームとの互換性 このクエリーのレベルは、メインフレームにしか互換性がない。ワークステーション接続されたクライアント上でこのクエリーを実行すると、CLIエラー354(NOQINFO)"The requested query information is unavailable(要求されたクエリー情報は利用できません)"が返される。 |
QEPIFSSO | 13 | シングル サインオン シングル サインオンのサポートを示すために、qepRAreaが指す領域に'N'または'Y'を返します。 TDP識別子がqepTDPフィールドに指定され、長さがqepTLenフィールドに指定されているデータベース システムを参照する。 |
QEPISU | 14 | 認証 シングル サインオンまたはサードパーティの認証メカニズム(LDAPなど)を使用してログインしたユーザーの、実際のデータベース ユーザー名を返す。 qepConnで示された数字のセッションIDを参照します。 |
QEPIFUPS | 15 | Atomic UPSERT Atomic UPSERTのサポートを示すために、qepRAreaが指す領域に'N'または'Y'を返します。 TDP識別子がqepTDPフィールドに指定され、長さがqepTLenフィールドに指定されているデータベース システムを参照する。 |
QEPIAOP | 16 | 配列操作 ARRAY OPERATIONS(配列操作)のサポートを示すために、qepRAreaが指す領域に'N'または'Y'を返します。 qepRAreaの長さは1バイト以上である必要があります。 TDP識別子がqepTDPフィールドに指定され、長さがqepTLenフィールドに指定されているデータベース システムを参照する。 |
QEPIFMRG | 17 | MERGE INTO MERGE_INTOのサポートを示すために、qepRAreaが指す領域に'N'または'Y'を返します。 qepRAreaの長さは1バイト以上である必要があります。 TDP識別子がqepTDPフィールドに指定され、長さがqepTLenフィールドに指定されているデータベース システムを参照する。 |
QEPIFLOB | 18 | LOB LOBのサポートを示すために、qepRAreaが指す領域に'N'または'Y'を返します。 TDP識別子がqepTDPフィールドに指定され、長さがqepTLenフィールドに指定されているデータベース システムを参照する。 |
QEPITPR | 19 | タイミング精度 クライアント プラットフォームでサポートされるTiming-precisionの最小値と最大値を、2つの符号付き2バイト フィールドとして返します。 QEPTDPは無視されます。 qepRAreaの長さは4バイト以上である必要があります。 |
QEPIXRS | 20 | 拡張応答 拡張メッセージ応答のサポートを示すために、qepRAreaが指す領域に'N'または'Y'を返します。 qepRAreaの長さは1バイト以上である必要があります。 TDP識別子がqepTDPフィールドに指定され、長さがqepTLenフィールドに指定されているデータベース システムを参照する。 |
QEPIEPU | 21 | APH要求 qepRAreaが指す領域に以下のいずれかの値を返します。
qepRAreaの長さは2バイト以上である必要があります。 TDP識別子がqepTDPフィールドに指定され、長さがqepTLenフィールドに指定されているデータベース システムを参照する。 |
QEPIUD | 23 | ユーティリティ データ サポート qepTDPフィールドでアドレス指定されるTDP識別子のデータベース システムを参照する。qepRAreaの長さは4バイト以上である必要がある。 返される6バイトの値は次のとおり。
|
QEPIASL | 24 | 集約サポート リスト 複数の機能のサポートを示す、値のリストを返します。 リストは、以下のクエリー項目(順序どおり)によって返される値に等しい1バイトの値で構成されます。
qepRAreaの長さは29バイト以上である必要があります。 64バイトの長さが推奨されています。 TDP識別子がqepTDPフィールドに指定され、長さがqepTLenフィールドに指定されているデータベース システムを参照する。 |
QEPIRPO | 25 | カーソルの位置付け カーソルの位置付けのサポートを示すために、qepRAreaが指す領域に'N'または'Y'を返します。 qepRAreaの長さは1バイト以上である必要があります。 TDP識別子がqepTDPフィールドに指定され、長さがqepTLenフィールドに指定されているデータベース システムを参照する。 |
QEPIENC | 26 | データ暗号化 セッション接続先のデータベース サーバーで暗号化のサポートと有効化が両方行なわれているかどうかを示すために、'N'または'Y'を返します。 qepConnフィールドに指定されているCLIv2セッション番号のセッションを参照します。 |
QEPIRMR | 27 | CLI情報 CLIv2のリリース識別子と、qepConnフィールドに指定されたCLIv2接続番号のセッション、およびQEPRQSTフィールドに指定されたCLIv2要求番号の要求で使用される、メッセージ テーブルのカスタマイズ情報を返します。 返される情報の長さは、最大48文字のASCII文字になります。これらは、カンマで区切られた1つまたは2つの識別子で構成されます。 |
QEPIACS | 28 | 文字セット TDPで指定されたデータベースで利用可能な文字セットの名前を返す。データベースのTDP識別子はqepTidpフィールド、長さはqepTlenフィールドで指定される。 応答は4個の固定長フィールドで構成され、可変数の文字セット名がこれに続きます。 qepRalenで長さが指定された応答領域に当てはまるだけの文字セット名が返されます。 すべての名前が返されない場合は、以下のクエリー(返されたトークンを指定する)のいずれかを発行して、追加の名前の処理を示すことができます。
|
QEPIESS | 29 | 廃止されたため、QEPISSU(56)を使用すること。 |
QEPIUDT | 30 | UDT ユーザー定義型のサポートを示すために、'Y'または'N'を返します。 |
QEPIAPH | 31 | APH応答 APH応答のサポートを示すために、qepRAreaが指す領域に数値または0を返します。 TDP識別子がqepTDPフィールドに指定され、長さがqepTLenフィールドに指定されているサーバーを参照します。 |
QEPIALM | 32 | メカニズム サポートするメカニズム名のリストを返します。
|
QEPIDCS | 33 | デフォルト文字セット データベースのデフォルト文字セットを、プラットフォームの文字セットにおける1バイトの30文字(ASCII)で、左揃え、ブランク入りとして返します。 DBCHQEの呼び出し側は、戻り値領域として、少なくとも30バイトを与える必要があります。 同フィールドは文字列としては返されない。したがって、呼び出し側は、printfで同フィールドの書き込み出力を試みる前に、最初のブランクにNULL終了子を挿入する必要がある。
|
QEPIDBR | 34 | データベース情報 データベースのリリース情報とバージョン情報を、それぞれ異なる形式を使用して、連続するフィールドに返す。
DBCHQEの呼び出し側は、戻り値領域として、少なくとも62バイトを与える必要があります。
|
QEPIC2L | 35 | CLIの制限 アプリケーションのCLIv2設定値に影響を及ぼす、データベースの制限を返す。応答は4個のフィールド、合計32バイトで構成される。 DBCHQE(QEPIC2L)の呼び出し側は、戻り値領域として、少なくとも32バイトを与える必要があります。構造マッピング(struct QEPCLLIMIT_)は、ユーザーの利便性を考慮し、dbchqep.hで提供されます。 |
QEPISQL | 36 | SQLの制限 アプリケーションのSQL文の使用に影響を及ぼす、データベースの制限を返す。応答は28個のフィールド、合計128バイトで構成される。 DBCHQE(QEPISQL)の呼び出し側は、戻り値領域として、少なくとも104バイトを与える必要があります。構造マッピング(struct QEPDBLIMIT_)は、ユーザーの利便性を考慮し、dbchqep.hで提供されます。 |
QEPIRCA | 37 | Relaxed Call Argument ターゲット サーバーがRelaxed Call Argument機能をサポートしているかどうか判断するのに用いられる識別子を返します。 DBCHQEは、サーバーがこの機能をサポートしている場合は「Y」を、そうでない場合は「N」を返します(ASCII文字を使用)。 DBCHQEの呼び出し側は、戻り値領域として、少なくとも1バイトを与える必要があります。 |
QEPISIS | 38 | StatementInformationパーセル StatementInformationパーセルのサポートを示すために、'Y'または'N'を返します。 |
QEPIIDE | 39 | Large Integer/Decimal Large Integer/Decimal機能のサポートを示すために、'Y'または'N'を返します。 「Y」の戻り値は、サーバーがこの機能をサポートすることを示します。 「N」の戻り値、またはゼロ以外の戻りコードは、サーバーがこの機能をサポートしないことを示します。 戻り値はASCII形式です。 QEPIIDEは、最低1バイトの戻り領域とターゲットTDPidを必要とします。 このクエリー項目は、集約サポート リストにも含まれています。 |
QEPIRID | 40 | 識別列が関係する場合に、SQL Insert操作に応じてデータを返すかどうかを定義します。 「Y」の戻り値は、サーバーがこの機能をサポートすることを示します。 「N」の戻り値、またはゼロ以外の戻りコードは、サーバーがこの機能をサポートしないことを示します。 戻り値はASCII形式です。 QEPIRIDは、最低1バイトの戻り領域とターゲットTDPidを必要とします。 このクエリー項目は、集約サポート リストにも含まれています。 |
QEPIDRS | 41 | ResultSet ストアド プロシージャがSQL文の結果をアプリケーションに返すことができるかどうかを示すために、'Y'または'N'を返します。 |
QEPIQBS | 42 | QUERY_BAND SQL SET QUERY_BAND文のサポートを示すために、'Y'または'N'を返します。 |
QEPIMIU | 43 | MERGE INTO SQL MERGE INTO文のサポートを示すために、'Y'または'N'を返します。 |
QEPILEU | 44 | LOGGING ERRORS Teradata SQL LOGGING ERRORS句のサポートを示すために、'Y'または'N'を返します。 |
QEPIPD | 45 | デフォルト接続 デフォルト接続機能のサポートを示すために、'Y'または'N'を返します。 呼び出し側は、戻り値領域として、少なくとも1バイトを与える必要があります。 |
QEPISCS | 46 | セッション文字セット セッション文字セットの名前を返します。 DBCHQEは文字セットを含む30バイト文字列を返すため、戻り値の領域は最低30バイト必要です。 qepConnフィールドに指定されているCLIv2セッション番号のセッションを参照します。 |
QEPICCS | 47 | 列相関 列相関機能のサポートを示すために、'Y'または'N'を返します。 |
QEPIUS | 48 | ユーティリティ セッション 以下の値を返します。
実際のスループットはデータ/送信時間で計算されます。 有効スループットはデータ/セッション時間で計算されます。 qepConnフィールドに指定されているCLIv2セッション番号のセッションを参照します。 ユーティリティ セッションは、Teradataユーティリティが占有的に使用するものであり、他のアプリケーションでの使用は意図されていません。 |
QEPIDAP | 49 | データベース アクセス パスを返します。 データベース アクセス パスは、完全修飾ドメイン名、それに関連付けられたIPアドレスおよびポート番号を含む、可変長の文字列です。 ログオン文字列の接頭辞としては、以下のものが使用される可能性があり、それぞれが同等の有効性を持ちます。 したがって、クエリーの結果は1つの可変長値で構成されます。 ポート番号(サーバー側)は、常にマシン名、FQDN、またはIPアドレスの後に返され、コロンで区切られます。
|
QEPITSS | 50 | 信頼済みセッション 信頼済みセッション機能のサポートを示すために、'Y'または'N'を返す。 |
QEPILNS | 51 | LOB-Nameサポート DEFERRED LOBが名前によって識別されるかどうかを決定します。 要求文字列内のUSING修飾子でBY NAME句が許可されているかどうかを返します。 LOBNameサポート機能のサポートを示すには、'Y'または'N'を返します。 |
QEPITOU | 52 | UDT-TransformsOffサポート DBCHQE(QEPITOU)の呼び出し側は、戻り値領域として少なくとも2バイトと、ターゲットTDPidを与える必要があります。 戻り値は、以下のいずれかの値です。
|
QEPITRS | 53 | Trusted-requestサポート データベースがtrusted-requestオプションに対して信頼済みセッションの拡張をサポートするかどうかを定義します。 「Y」の戻り値は、サーバーがこの機能をサポートすることを示します。 「N」の戻り値、またはゼロ以外の戻りコードは、サーバーがこの機能をサポートしないことを示します。 DBCHQE(QEPITRS)の呼び出し側は、1バイトの戻り値領域と、ターゲットTDPidを与える必要があります。 このクエリー項目は、集約サポート リストに含まれていません。 |
QEPIBI | 54 | ビルド情報 複数の機能のサポートを示す6つの値のリストを返します。 リストは、以下のクエリー項目(順序どおり)によって返される値に等しい1バイトの値で構成されます。
「Y」の戻り値は、サーバーがこの機能をサポートすることを示します。 「N」の戻り値、またはゼロ以外の戻りコードは、サーバーがこの機能をサポートしないことを示します。 DBCHQE(QEPIBI)の呼び出し側は、少なくとも6バイトの戻り値領域を与える必要があります。 qepConnフィールドに指定されているCLIv2セッション番号のセッションを参照します。 |
QEPISES | 55 | Statement-Independenceサポート データベースがステートメントの独立機能をサポートするかどうかを定義する。 「Y」の戻り値は、サーバーがこの機能をサポートすることを示します。 「N」の戻り値、またはゼロ以外の戻りコードは、サーバーがこの機能をサポートしないことを示します。 DBCHQE(QEPISES)の呼び出し側は、1バイトの戻り値領域と、ターゲットTDPidを与える必要があります。 このクエリー項目は、集約サポート リストに含まれていません。 |
QEPISSU | 56 | 拡張文ステータス レベルのサポート ESSレベルのサポートを示すバイトを返します。 qepRAreaの長さは1バイト以上である必要があります。 TDP識別子がqepTDPフィールドに指定され、長さがqepTLenフィールドに指定されているサーバーを参照します。 |
QEPIILB | 57 | SLOBのサポート 応答の長さは次の6バイトです。
|
QEPIUPT | 58 | Unicode Pass Through qepTDPフィールドでアドレス指定されるTDP識別子のサーバーを参照します。 qepRAreaの長さは2バイト以上である必要がある。返される2バイトの値は次のとおり。
|
QEPISTT | 60 | Transform Group for Typeのサポート qepRAreaの長さは2バイト以上である必要がある。 返される2バイトの値は次のとおり。
TDP識別子がqepTDPフィールドに指定され、長さがqepTLenフィールドに指定されているサーバーを参照する。 |
CLIv2-limits
アプリケーションは、CLIv2-limitsを使用してCLIv2設定を選択することで、アクセス先のデータベースの実行を最適化したり、制限の超過によって引き起こされるエラーを防止したりできます。アプリケーションのCLIv2設定値に影響を及ぼす、データベースの制限を返します。応答は4個のフィールド、合計32バイトで構成されます。
項目コード | 簡略記号(ニーモニック) | DBQERC2L (DbqerC2L for C) | |
---|---|---|---|
フィールド | 値 | ||
35 | QEPIC2L |
|
|
SQL-limits
アプリケーションは、SQL-limitsを使用してSQL文を構築することで、アクセス先のデータベースの実行を最適化したり、制限の超過によって引き起こされるエラーを防止したりできます。
アプリケーションのSQL文の使用に影響を及ぼす、データベースの制限を返します。応答は28個のフィールド、合計128バイトで構成されます。
項目コード | 簡略記号(ニーモニック) | DBQERSQL (DbqerSQL for C) | |
---|---|---|---|
フィールド | 値 | ||
36 | QEPISQL |
|
|