- UNIXシステムでは、/etc/hostsです。
- Windowsシステムでは、%windir%\system32\drivers\etc\hostsです。
DNS(Distributed Name Service)が有効になっている場合は、これらのファイルが適切なDNSサーバーに置かれます。
データベースに、接続できる4つのCOPがある場合は、hostsファイル内のCOPエントリは次のようになります。
[IP address of NODE1] | NODENAMEcop1 |
[IP address of NODE2] | NODENAMEcop2 |
[IP address of NODE3] | NODENAMEcop3 |
[IP address of NODE4] | NODENAMEcop4 |
CLIは、COPエントリがcop1、cop2、cop3...、cop100のように連続的であることを想定します。環境変数が設定されている場合、同変数で指定された値に到達するまで、CLIはCOP接続を続けます。
例:
[IP address of NODE1] | NODENAMEcop1 |
[IP address of NODE2] | NODENAMEcop2 |
[IP address of NODE5] | NODENAMEcop5 |
[IP address of NODE6] | NODENAMEcop6 |
上記の例では、CLIはNODE5とNODE6を無視し、要求されたすべてのセッションをNODE1とNODE2に接続します。マシン(NODENAME)名と同じ名前の環境変数を設定し、そのマシンで使用可能なCOPの数を指定することによって、ログオン プロセスのパフォーマンスを改善できます。前の例で、最初のCONNECTリクエストを開始する前に値が3の環境変数NODENAMEが存在している場合には、CLIは最初の3つのノードにだけ接続を試行します。前の例で、最初のCONNECTリクエストを開始する前に値が3の環境変数NODENAMEが存在している場合には、CLIは最初の3つのノードにだけ接続を試行します。ただし、値が7の環境変数NODENAMEが存在している場合には、CLIは利用可能なすべてのノード(この場合はNODE1、NODE2、NODE5、NODE6)に接続を試みます。
- NODENAME=x環境変数は、大文字にする必要があります。
- COPの名前の書式はdbcnameCOPnです。dbcnameの最初の1文字はアルファベット文字にする必要があります。 残りの文字はアルファベット文字、数字のどちらでも構いません。
- UNIXシステムでは、/etc/servicesです。
このファイルには、以下のエントリが含まれている必要があります。
tdmst - 1025/tcp
あるノードのゲートウェイ サービスが1025以外のポートでリスニングするように構成されている場合は、これらのエントリを修正して、ゲートウェイがリスニングしているポートを反映させる必要があります。 デフォルトのtdmstポート(1025)を変更する別の方法として、環境変数TDMSTPORTに適切なポートを設定することもできます。 CLIとゲートウェイでは、通信に同じポートを使用する必要があります。
DBCAREAで、アプリケーション プログラムは、ログオン文字列を指すポインタ、ログオン文字列の長さ、および任意選択で、実行文字列(パーティション名)を指すポインタおよび実行文字列の長さを与えます。 アプリケーション プログラムは、リクエスト バッファと応答バッファの最大の長さをDBCAREAに与えます。 任意選択で、アプリケーション プログラムはDBCAREA内の処理オプションを変更します。 次にアプリケーション プログラムは、DBCAREA内の関数コードをDBFCONに設定して、DBCHCLを呼び出します。
DBCHCL
DBCHCLは、CLI2SCBを取得して初期設定します。アプリケーションでDBCAREA内のオプション値を使用するように指定した場合には、そのオプションがDBCAREAからシステム制御ブロック(SCB)にコピーされます。そのように指定しなかった場合には、オプションはシステム パラメータ ブロック(SPB)からコピーされます。リクエスト制御ブロック(RCB)が、その後で割り当てられて、ログオン シーケンス用に初期設定されます。アプリケーションでは、リクエストまたはセッションの始動時にアプリケーション自体で使用するためのトークン識別子を与えることができます。DBCAREA内のこの識別子のフィールドの値は、ログオンRCBにコピーされて、ログオン リクエストが参照されたときには必ず返されます。
DBCHCLは、リクエスト バッファおよび応答バッファを取得して初期設定します。DBCHCLは、LogonパーセルおよびRun(またはConnect)パーセルをリクエスト バッファ内に用意します。リクエストは、MTDPに送られます。
MTDP
MTDPは、セッションが割り当てられたCOPのアドレスをデータベースから入手してそのCOPに接続し、データベース コンピュータにログオンして、要求されたパーティションに接続します。MTDPは、そのあとで制御をDBCHCLに返します。
DBCHCL
MTDPでの接続が成功して、データ待機オプションのフラグがYに設定されていた場合には、MTDPが再び呼び出されてログオン応答を受け取るまで待ちます。 何かのイベントが発生すると、エラー メッセージまたは成功メッセージがDBCAREAのメッセージ フィールド内に生成され、DBCHCLは制御をアプリケーション プログラムに返します。
アプリケーション
DBCAREAの戻りコードが正常でなければ、アプリケーションで、DBCAREAを適切に変更してDBCHCLに再び送ります。 アプリケーション プログラムで複数のセッションを同時に実行させる予定があれば、DBCAREA内のセッションidを保存します。
これで、インターフェースが始動リクエストまたは標準のTeradata SQLリクエストの実行依頼を受け入れる準備が整いました。