Teradata DSNのオプション - ODBC Driver for Teradata

ODBC Driver for Teradata® ユーザー ガイド

Product
ODBC Driver for Teradata
Release Number
17.20
Published
2022年6月
Language
日本語
Last Update
2022-08-22
dita:mapPath
ja-JP/uqj1639470627591.ditamap
dita:ditavalPath
ja-JP/nkw1500504256726.ditaval
dita:id
B035-2526
Product Category
Teradata Tools and Utilities

次表のキーワード オプションをodbc.iniファイルのデータ ソース仕様セクションおよびデフォルト データ ソース仕様セクションに追加できます。このオプションは、odbc.iniファイル経由でのみ構成できます。次の表に、odbc.iniファイルで構成可能なオプションの一覧を示します。

ODBC Driver for Teradataでは、利用可能なDSN設定を特定のアプリケーションで使用する方法が確立されています。サードパーティ アプリケーションのDSN設定を参照してください。

キーワード/同義語 説明
AccountStr=<account>

または

Account=<account>

データベースへのログオン時に入力するアカウント値を指定します。指定しない場合は、ユーザーの作成または変更時に指定したアカウント値を、データベースがデフォルトとして使用します。
このオプションが便利なのは、ユーザーが実行しているアプリケーションを判定、またはユーザーをログオン制限することによって、ユーザーを分離できるからです。
CharacterSet=<charset name>

または

Charset=<charset name>

セッション文字セットを指定します。デフォルトはASCIIです。

セッションの文字セットを指定します。デフォルトのASCIIセッションは、7ビットのASCII文字にのみ使用することを強く推奨します。米国英語を含むすべての言語に推奨されるデフォルトのセッション文字セットは、UTF8です。デフォルトとして指定されている文字セットとは別の文字セットを使用する場合、このボックスで指定または選択します。

利用可能なオプションは次のとおりです。
  • ASCII
  • UTF8
  • UTF16
  • LATIN1252_0A
  • LATIN9_0A
  • LATIN1_0A
  • Shift-JIS(Windows、DOS互換、KANJISJIS_0S)
  • EUC(Unix互換、KANJIEC_0U)
  • IBM Mainframe (KANJIEBCDIC5035_0I)
  • KANJI932_1S0
  • BIG5 (TCHBIG5_1R0)
  • GB (SCHGB2312_1T0)
  • SCHINESE936_6R0
  • TCHINESE950_8R0
  • NetworkKorean(HANGULKSC5601_2R4)
  • HANGUL949_7R0
  • ARABIC1256_6A0
  • CYRILLIC1251_2A0
  • HEBREW1255_5A0
  • LATIN1250_1A0
  • LATIN1254_7A0
  • LATIN1258_8A0
  • THAI874_4A0
上記の一覧にないユーザー定義のセッション文字セットを使用するには、そのユーザー定義セッション文字セットの名前を入力してください。
DateTimeFormat=[A|I]AA DATE、TIME、およびTIMESTAMPの各データ型の形式を指定します。
  • A - ANSI
  • I - 整数
文字の仕様の意味は、次のとおりです。
  • 1番目の文字 = DATE形式
  • 2番目の文字 = TIME形式
  • 3番目の文字 = TIMESTAMP形式

推奨される設定は、AAA形式(デフォルト)またはIAA形式(オプション)です。整数データ型は、TIME形式では非推奨になったため、推奨されません。詳細については、ODBC Driver for Teradata 16.20以降のバージョンで非推奨になった機能の「整数型時刻」を参照してください。TIMESTAMPを表わす最後の文字は、常にANSIです。

DataSourceDNSEntries DataSourceDNSEntries DSNオプションは、データベース名に対してDNSに定義されているエントリの数をODBC Driver for Teradataに通知します。このオプションの初期値によって、ODBC Driver for Teradataがデータベース名をIPアドレスにどのように解決するかが制御されます。この値が設定されていない場合、デフォルト値は未定義(空)です。ODBC DSNに複数のデータベース名が指定されている場合、DataSourceDNSEntriesオプションはすべての名前に適用されます。
ODBC DSNまたは接続文字列内で、名前ではなくIPアドレスによってデータベースが指定された場合、DataSourceDNSEntriesオプションは無視されます。

最良の結果を得るには、DataSourceDNSEntries = 未定義(デフォルト設定)にしておくことを推奨します。そのように設定することにより、ODBC Driver for TeradataがDNSを動的に検索して、指定されたデータベース名に使用可能なすべてのCOPを見つけることができます。このアプローチを使用すると、後でデータベースに追加された新しいノード(およびDNS)を、ODBCを変更することなく、ODBC Driver for Teradataが自動的に検出します。

DataSourceDNSEntries = 0は、そのデータベース名に対するcopエントリがDNSにないことを示します。データベース名は、名前によってのみ解決されます。COPサフィックスを使用した解決は試みられません。DNSを利用して負荷分散を行なう環境では、この動作が望ましいことがあります。DNSを負荷分散に使用する場合、管理者は、DNSを使用してデータベース名を解決するたびに異なるIPアドレスまたは複数のIPアドレスを異なる順序で提供するようDNSを構成することができます。

DataSourceDNSEntries = 値。ゼロ以外の値は、データベース名に対するcopエントリがDNSにあり、最後のCOPエントリがその値であることを表わします。初回の接続試行では、1~指定値の範囲の乱数が選択されます。その後の各接続では、次の番号(ラウンドロビン)に増分されます。このアプローチでは、コストの大きいDNS名前解決の失敗は発生しません(コストはDNSの構成方法によって異なります)。ただし、後でDNSに追加されたエントリは、指定された値が増加していない限り、ODBC Driver for Teradataで検出されることはありません。

DontUseHelpDatabase=[Yes|No]

または

DontUseHelpDB=<[Yes|No]

HELP DATABASEを使用するかどうかを指定します。
  • No (デフォルト) - ドライバはHELP DATABASEコマンドを使用します。
  • Yes - SQLTablesでワイルドカード文字が使用されていないときは、SQLTablesは、HELP DATABASEコマンドではなく、SELECT文を使用します。
SQLTablesは、UseXViewsの設定に応じて、dbc.tablesまたはdbc.tablesxのいずれかを使用します。
DontUseTitles=[Yes|No] 列名を返すか列タイトルを返すかを指定します。
  • No - 列タイトルを返します(定義がある場合)。ない場合は、列名を返します。
  • Yes (デフォルト) - 列タイトルではなく列名を返します。列名は、Crystal Reportsなどのアプリケーションで必要です。

SQLColumnsの列タイトルは、LABEL列に表示されます。

EnableRedrive=[Yes|No|Default] セッションのリクエストがRedriveに関与するかどうか、またはデータベース側のデフォルト値を使用するかを指定します。

デフォルト値は"Default"です。

EnableUDFUpload=[Yes|No]
ODBC Driver for TeradataがUDFソース ファイルのアップロードをサポートするかどうかを指定します。
  • Yes - UDFソース ファイルがアップロードされます。
  • No(デフォルト) - UDFソース ファイルはアップロードされません。

詳細については、Teradata® Call-Level Interface Version 2リファレンス - メインフレーム接続システム, B035-2417ElicitFileおよびTeradata Vantage™ - SQL外部ルーチン プログラミング, B035-1147を参照してください。

EnableExtendedStmtInfo=[Yes|No] 利用可能なときに、データベースから拡張ステートメント情報を使用するかどうかを指定します。
  • Yes(デフォルト) - 拡張ステートメント情報は要求され、使用されます。

    拡張ステートメント情報を利用できる場合、ODBC API関数のSQLDescribeParamはサポートされ、SQLGetFunctionsがSQL_API_SQLDESCRIBEPARAMに対してSQL_TRUE(サポート)を返します。

  • No - データベースがサポートする場合でも、拡張ステートメント情報が使用されません。

    拡張ステートメント情報が利用できない場合は、SQLDescribeParamはサポートされず、SQLGetFunctionsはSQL_API_SQLDESCRIBEPARAMに対してSQL_FALSE(未サポート)を返します。

SQLリクエストで使用されるパラメータや結果セットの列に関する追加のメタデータ情報が含まれる拡張ステートメント情報は、Teradata DatabaseバージョンV2R6.2以降でサポートされています。
EnableReadAhead=[Yes|No] ODBC Driver for Teradataが先読みを実行して、現在のメッセージの処理中に次の応答メッセージを受け取るかどうかを指定します。
  • Yes(デフォルト) - ODBC Driver for Teradataは、現在処理中の応答メッセージが最後でなければ、データベースに次の応答メッセージを要求することによって先読みを行ないます。データベースでは、任意の時点で各セッションに対して、1つのリクエストをアクティブにすることができます。アクティブなリクエストとは、実行中のSQL文または先行するSQL文からの結果の次の部分に対するリクエストのことです。
  • No - ODBC Driver for Teradataは、ドライバで現在の応答メッセージの処理が完了したときにのみ、データベースに次の応答メッセージを要求します。
IANAAppCodePage=<ODBCアプリケーション コード ページ> 現在のODBCアプリケーション コード ページは、IANAAppCodePageとして定義されています。

有効なODBCアプリケーション コード ページの値のリストおよび注意事項については、ODBCアプリケーション コード ページの値(Linux/UNIXおよびApple macOS)を参照してください。

IgnoreODBCSearchPattern=[Yes|No]

または

IgnoreSearchPat=<[Yes|No]

文字_および%がSQLTablesなどのカタログ関数に渡された場合、これらの文字が、テーブル名やスキーマ名などに指定された値に対する正規表現のワイルドカード文字として機能するように指定します。
このオプションは、検索パターンをサポートしていないアプリケーション(Microsoft Accessなど)で便利です。
  • No(デフォルト、Microsoft Access以外) - 文字_と%は、正規表現の文字として処理されます。
    この設定により、Microsoft Accessは、検索パターンを処理するためにodbc.iniファイルのデータ ソース セクションを使用します。
  • Yes - 文字_と%は処理されません。代わりに、次のコマンドで通常の検索パターンを使用します。
    • SQLTables
    • SQLColumns
    • SQLTablePrivileges
    • SQLProcedures
    • SQLProcedureColumns
    • SQLGetInfo
SQL_SEARCH_PATTERN_ESCAPEは、空の文字列を返します。
LoginTimeout=<integer>=0> データベースへログインする仮想回路が確立されるまで待機する秒数を定義します。

デフォルト値は20です。

0以上の整数値を入力してください。

MaxRespSize=<integer≤16775168> SQLリクエスト用のデータベース応答バッファ サイズを制限します。

デフォルトは65536(64K)です。整数値の上限は16775168です。

データベースが有効範囲内のパケット サイズで結果を送信できない場合は、この値が動的に変更されることもあります。
  • PPPやSLIPなどの低速TCP/IPインターフェースを使用している場合には、これより小さい値を入力します。
  • LAN環境で結果セットが大きくなることが予想される場合には、大きい値を入力します。
MechanismName=<MechanismName>

または

Authentication=<MechanismName>

データベース接続に使用する認証メカニズムを指定します。

デフォルトは、TeraGSSプログラムであるtdgssconfigureを実行してXMLファイルに設定された構成オプションに従って決定されます。

有効な値は次のとおりです。
  • 空 - キーワードを省略した場合と同様です。
  • TD2 - 認証メカニズムとしてTeradata 2を選択します。ユーザー名とパスワードが必要です。
  • TDNEGO - ユーザーの関与なしでポリシーに基づく認証メカニズムのいずれかを自動的に選択します。
  • LDAP - 認証メカニズムとしてLDAPが選択されます。アプリケーションからユーザー名とパスワードが提示されます。
  • KRB5 - 認証メカニズムとしてKerberosを選択します。アプリケーションからユーザー名とパスワードが提示されます。
  • EXTERNALBROWSER - WindowsおよびApple macOSでは、認証メカニズムとしてCloudSSOを選択します。ユーザーのIDは、外部ブラウザを使用したKeycloakまたはPingFederateログインによって取得されます。ユーザーは、ユーザー名とパスワードを入力せずにログオンします。

認証メカニズムの詳細については、ネットワーク セキュリティを参照してください。

MechanismKey=<Value>

または

AuthenticationParameter=<Value>

値 = string

認証メカニズムのパラメータとして認識される文字列。この文字列は、ODBC Driver for Teradataからは隠されており、認証メカニズムの設定時に呼び出されるTeradata認証ソフトウェアに渡されます。

odbc.iniファイルは保護されていません。MechanismKeyは暗号化されていない平文テキストとして保存されるため、ファイルに対する読み取りアクセスを持つすべてのユーザーが参照できます。

$tdwallet()トークンを指定すると、平文MechanismKey値の代わりにTeradata Wallet参照文字列を使用できます。以下に例を示します。

MechanismKey=$tdwallet(RefString)

詳細については、<Teradata Wallet>を参照してください。

NoScan=[Yes|No] ODBC Driver for TeradataによるSQL文の構文解析を有効または無効にします。有効である場合、ドライバはODBCのエスケープ シーケンスをSQLに変換します。
  • No(デフォルト) - SQL文は、ODBC Driver for Teradataによって構文解析されます。
  • Yes - SQL文は、ODBC Driver for Teradataによる構文解析なしで、そのままデータベースに送信されます。
ODBC固有の構文がSQL文に含まれる場合は、このオプションを有効にしないでください。SQL文にODBC固有の構文が使用されているときにこのオプションを設定すると、データベースでエラーが報告されます。
OutputAsResultSet=[Yes|No] ストアド プロシージャの出力パラメータをどのように取得するかを指定します。
  • No(デフォルト) - INOUTおよびOUTパラメータの値は、プロシージャの呼び出し後に直接更新されます。このため、呼び出す前にすべてのパラメータ マーカーを変数にバインドする必要があります。
  • Yes - INOUTおよびOUTパラメータの値は、結果セットとして返されます。これらの値は、SQLFetchとSQLGetDataを呼び出すか、またはSQLBindColに続いてSQLFetchを呼び出すことによって、応答から取得できます。出力パラメータを含む結果セットは、ストアド プロシージャで生成された結果セットからデータベースによって返される最初の結果です。

サンプル コードと追加情報については、ストアド プロシージャの動的な結果セットを参照してください。

PrintOption=[N |P] ストアド プロシージャのプリント オプションを指定します。

N (デフォルト) - ストアド プロシージャの作成時に、プリント オプションを無効にします。

P - プリント オプションを有効にします。

ReconnectCount=<value> ドライバがデータベースへの再接続を試行する最大回数(0~99)。

デフォルト値は20です。

ReconnectInterval=<value> 再接続の試行間隔の秒数(1~300)。

デフォルト値は30です。

retryOnEINTR ODBC Driver for TeradataがEINTRでソケット システム呼び出しを再試行するかSQL_ERRORを返すかを制御します。
対象となるソケット システム呼び出しは以下のとおりです。
  • connect()
  • select()
  • recv()
  • send()

再試行する場合の値はYes、再試行しない場合の値はNoです。デフォルトはYesです。

ReturnGeneratedKeys=<value> 識別列に挿入するリクエスト(INSERT、INSERT ... SELECT、UPSERT、MERGE-INTO)の結果を指定します。これらのリクエストは、オプションで挿入行の識別列値を表わす結果セット(自動生成キー)を返すこともできます。
Teradata Database V2R6.2より前のバージョンでは自動生成キーの取得はサポートされていないため、V2R6.2より前のデータベース サーバーを使用している場合には、ReturnGeneratedKeysを設定しても何の影響もありません。
  • C - 識別列だけを取得します。挿入行の数を表わす行カウント、および自動生成キーを単一列として含む結果セットを返します。
  • R - 行全体を取得します。挿入行の数を表わす行カウント、および挿入された行だけのすべての列の自動生成キーを含む結果セットを返します。
  • N(デフォルト)または未設定 - 自動生成キーを取得しません。識別列に挿入する要求の動作は変わりません。
SessionMode=[Yes|No] データベース上のセッションのモード(TeradataまたはANSI)を指定します。選択されたモードは、そのセッションが存続する間適用されます。

デフォルト値は、CREATEまたはMODIFY USER文で使用されるオプションに基づいてデータベースで決定されます。

アプリケーションは、プログラム上でSessionModeを設定できません。SessionModeは、接続時のみ設定できます。
SESSIONS=<value>

FastExportプロトコルの基準を満たすSELECTクエリーのパフォーマンスを向上させるために、ドライバが開くFastExportデータ接続の数。

開くことができるFastExportデータ接続の最大数は、データベースで使用可能なAMP(アクセス モジュール プロセッサ)の数によって決まります。

このプロパティをAMPの数より大きい数に設定しても、ドライバはAMPの数と同じ数の接続しか開きません。

このプロパティは設定しないことが推奨される。このプロパティが設定されていない場合、FastExport接続の数はデータベースの設定に基づいて自動的に決まる。
SplOption=[Y | N] ストアド プロシージャの作成時に、ストアド プロシージャ言語(SPL)オプションを指定します。
  • N - SPLテキストなしに作成されます。
  • Y (デフォルト) - SPLテキストを含めて作成されます。
SSLMode=[Allow|Disable|Prefer|Require|Verify-CA|Verify-Full] デフォルト = 「Prefer(優先)」

ODBC Driver for Teradataが動作するTLSモードを指定します。

有効な値は、次のとおりです。

Prefer(優先)

ドライバはHTTPSポートとの接続を優先します。

その接続が失敗した場合に、ドライバはフォールバックしてTDMSTポートに接続します。

TLS証明書が正しく設定された状態でTeradata Gateway TLS設定が「有効」に設定されている場合、ODBC Driver for TeradataはHTTPSポートを使用した接続のみを試行し、接続に失敗すると対応するエラー メッセージが返される。

詳細については、Prefer/AllowのSSLModeでの確定的動作を参照。

Allow(許容)

ドライバはTDMSTポートとの接続を優先します。

その接続が失敗した場合に、ドライバはフォールバックしてHTTPSポートに接続します。

TLS証明書が正しく設定された状態でTeradata Gateway TLS設定が「有効」に設定されている場合、ODBC Driver for TeradataはTDMSTポートを使用した接続のみを試行し、接続に失敗すると対応するエラー メッセージが返される。

詳細については、Prefer/AllowのSSLModeでの確定的動作を参照。

Disable(無効)

ドライバはTDMSTポートでのみ接続します。

Require(必須)

ドライバはHTTPSポートでのみ接続します。

Verify-CA

"Require(必須)"モードに加えて、構成されているCA証明書に対するサーバー認証局(CA)証明書の検証が行なわれます。

Verify-Full

"Verify-CA(検証-CA)"モードに加えて、ホスト名識別検証が行なわれます。

SSLProtocol=[TLSv1.2] SSLプロトコル

現在サポートされているのはTLSv1.2のみです。

SSLCA=<path> SSL CAファイル名

オペレーティング環境でのデフォルト設定がデフォルト値になります。

このオプションでは、信頼済みのルートCAおよび中間CAの1つまたは複数の証明書が入っている.pemファイルのフルパスと名前を指定します。SSLModeがVerify-CAまたはVerify-Fullに設定されていない場合、SSL CAファイル名またはSSL CAパスは無視されます。

SSLCAPath=<path> SSL CAパス

このオプションは、信頼済みCAのルート証明書が置かれているディレクトリのフルパスを指定します。SSLModeがVerify-CAまたはVerify-Fullに設定されていない場合、SSL CAファイル名またはSSL CAパスは無視されます。

このオプションを使用するには、「c_rehash」ツールを使用し、OpenSSLで使用される証明書ファイルのシンボリック リンクを作成する。

詳細については、OpenSSLのドキュメントを参照: https://www.openssl.org/docs/man1.1.1/man1/c_rehash.html

TCPNoDelay=[Yes|No] 伝送制御プロトコル(TCP: Transmission Control Protocol)が即座に小規模パケットを送信するか、または単一の大規模パケットに各パケットをまとめるために待機するかを指定します。
このオプションは、Teradataデータ ソース エントリに対して有効です。
  • Yes(デフォルト) - TCPは小規模パケットを即座に送信します。そのため、パケット送信の遅延は回避できても、ネットワーク上で肯定応答などの小さなパケットが数多く送信されることになります。
  • No - TCPは複数の小規模パケットを単一パケットにまとめます。このオプションは、ネットワーク トラフィックの削減につながりますが、パケットの送信を遅延させることにもなります。詳細については、TCPのマニュアルを参照してください。
TranslationDLL=<path> コード変換DLL名を指定します。コード変換DLLの完全修飾パス名を指定することを推奨します。

ユーザー定義セッション文字セットは、このオプションの値を指定しないで使用できます。このとき変換は、現在のアプリケーション コード ページに基づいて行なわれます。

詳細については、ユーザー定義セッション文字セットのサポートコード変換DLLを参照してください。

TranslationOption=<integer> 指定したコード変換DLLの固有の意味を表わす32ビット値です。

例えば、特定の文字セット変換を指定できます。

指定しない場合は、コード変換DLLのSQLDataSourceToDriverやSQLDriverToDataSourceへのオプションとして値ゼロが渡されます。

TDMSTPortNumber=<integer> データベースにアクセスするポート番号を指定します。

デフォルト値は1025です。

DBAからの指示がない限り、この値は変更しないこと。
HTTPS_PORT=<integer> TLS接続を介してデータベースにアクセスするポート番号を指定します。

デフォルト値は443です。

DBAからの指示がない限り、この値は変更しないこと。
Type=<Default|FastExport> 特定の基準を満たすSELECTクエリーのパフォーマンスを向上させるために、ドライバがFastExportプロトコルを使用するかどうかを指定します。
  • Default: ドライバは、どのクエリーでもFastExportを使用せず、標準プロトコルのみを使用してクエリーを実行します。
  • FastExport: FastExportをサポートしているデータベースに接続している場合、ドライバは、FastExportの基準を満たすクエリーの実行にFastExportを使用します。それ以外のクエリーでは、ドライバはフォールバックにより、標準プロトコルを使用します。
UDFUploadPath=<path>

UDFソース ファイルの置き場所の完全修飾パスを指定します。この値を定義した場合、データベースでファイル名の一部として完全修飾パスが指定されていない(フィールドが空白である)限り、ドライバはデータベースからのファイルの要求時に定義された場所を確認します。

詳細については、<Teradata® Call-Level Interface Version 2リファレンス - メインフレーム接続システム, B035-2417>および<Teradata Vantage™ - SQL外部ルーチン プログラミング, B035-1147>の「ElicitFile」を参照してください。

USE2XAPPCUSTOMCATALOGMODE=[Yes|No]

または

2XAPPCUSTOMCATALOGMODE=[Yes|No]

非標準の検索パターンを使用するODBC 2.xアプリケーションとの下位互換性を提供します。
以前のバージョンのODBC Driver for Teradataでは、ODBCプログラマ リファレンスの仕様に記載されている%検索パターン以外の検索パターンをユーザーが作成できました。非標準のシステムで、SQLTables APIのSchemaName引数にNULL値が渡された場合は、%検索パターンではなく、ユーザーID、DBC、およびデフォルトのデータベース スキーマ名によるテーブルの検索の結果が得られます。
  • No(デフォルト) - %検索パターンを使用します。
  • Yes - ユーザーID、DBCおよびデフォルトのデータベース スキーマ名による検索を許可します。
UseDataEncryption=[Yes|No]

または

DataEncryption=[Yes|No]

Teradata GatewayとODBC Driver for Teradataが暗号化された方式で通信できるようにします。
  • No (デフォルト) - ログオン情報のみを暗号化します。
  • Yes - データ暗号化を有効にします。
UseXViews=[Yes|No] Xテーブルが使用されるかどうかを指定します。
Xテーブルは、ユーザーにアクセスの許可が与えられている情報だけを含んでいます。この種のテーブルはTeradataではオプションなので、このオプションを使用する前に、このようなテーブルが存在するのかどうかを調べてください。
  • No(デフォルト) -
    • SQLTables()とSQLProcedures()は、dbc.tablesVとdbc.databasesVを使用します。
    • SQLColumns()とSQLProcedureColumns()は、dbc.columnsVを使用します。
  • Yes -
    • SQLTables()とSQLProcedures()は、dbc.tablesVXとdbc.databasesVXを使用します。
    • SQLColumns()とSQLProcedureColumns()は、dbc.columnsVではなく、dbc.columnsVXを使用します。
    • SqlStatistics()は、dbc.tablesizeVXを使用します。

SqlStatistics()は、dbc.tablesizeVを使用します。

ODBC Driver for Teradataによって認識される日本語、中国語、韓国語の各ロケール値がLANG環境変数に含まれる場合、ODBC Driver for TeradataのLinux/UNIXシステム版は下記のオプションを認識します。これらのオプションはApple macOSでは使用できません。