DEFINE TABLE DB コマンド

AX コネクターを使用してデータベース テーブルに接続し、Analytics サーバー テーブルを定義します。 Microsoft SQL Server、Oracle、DB2 データベースに接続することができます。

構文

DEFINE TABLE DB {SOURCE データベース プロファイル <PASSWORD 数値> <PASSWORD 数値> | SERVER サーバー プロファイル <PASSWORD 数値>} <FORMAT 書式名> SCHEMA スキーマ <TITLED ACL テーブル名> <PRIMARY|SECONDARY> DBTABLE DB テーブル名 FIELDS {フィールド名|ALL} <...n> <WHERE 条件> <ORDER フィールド名>

パラメーター

SOURCE データベースプロファイル

データベース エンジンにアクセスするために使用する Analytics データベース プロファイル。

データベース プロファイルには、次のように、データベース エンジンに接続するために必要な情報があります。

  • 関連付けられたサーバー プロファイルへの参照
  • データベースのタイプ
  • データベースの名前
  • ユーザー アカウント情報

メモ

DEFINE TABLE DB では、Microsoft SQL Server、Oracle、DB2 データベースにのみ接続できます。

PASSWORD 番号

省略可能

使用するパスワード定義。

実際のパスワードを入力することを求めたり指定したりするのには、PASSWORD 番号の構文は使用しません。 パスワード定義とは、以前に PASSWORD コマンドか SET PASSWORD コマンドを使用して入力または設定されたパスワードのことです。

番号はパスワード定義の番号です。 たとえば、以前に 2 つのパスワードをスクリプトで設定したり入力したりしている場合には、PASSWORD 2 により、2 番目のパスワードを使用することを指定するなどします。

パスワードの入力または設定の詳細については、次を参照してください。

このパスワードは、データベース プロファイルにパスワードを指定して保存していない場合にのみ指定する必要があります。 SOURCE キーワードの後に PASSWORD を 2 回使用します。 1 番目のパスワードでサーバーにログオンし、2 番目のパスワードでデータベースにログオンします。

SERVER サーバープロファイル

使用されなくなりました。

バージョン 10.0 より前の Analytics では、ACL Server Edition for z/OS へ接続するときに使用されていました。 バージョン 10.0 以降の Analytics には、ACL Server Edition for z/OS が同梱されなくなりました。

FORMAT フォーマット名

省略可能

使用したいテーブル レイアウトを持つ、Analytics テーブルまたはテーブル レイアウト ファイル(.layout)の名前。

SCHEMA スキーマ

接続するスキーマ。 スキーマ名は引用符で囲む必要があります。

TITLED ACLテーブル名

省略可能

作成する Analytics テーブルの名前。

ACLテーブル名は引用符で囲んだ文字列として指定する必要があります。 TITLED を省略すると、データベースのテーブル名が使用されます。 一度に複数のテーブルにアクセスした場合は、最初のテーブル名が使用されます。

PRIMARY | SECONDARY

省略可能

複数ファイル コマンド内でテーブルを主テーブルと副テーブルのどちらとして使用します。 どちらのオプションも指定されない場合、デフォルト値の PRIMARY が使用されます。

DBTABLE データベーステーブル名

アクセスするデータベース テーブル。 データベーステーブル名は引用符で囲んだ文字列として指定する必要があります。

FIELDS フィールド名 | ALL

出力に含めるフィールド:

  • FIELDS フィールド名 指定されたフィールド

    フィールド名は引用符で囲まれた文字列である必要があります。

  • ALL テーブルのすべてのフィールドを使用します。

複数のテーブルからフィールドを使用するには:

  1. 最初のテーブル名、そのテーブルのフィールドの順に入力します。
  2. 次のテーブル名、そのテーブルのフィールドの順に入力します。
  3. テーブルを追加するごとに手順 b を繰り返します。
DBTABLE "DSN1310" FIELDS "Field_A Field_B Field_C"
DBTABLE "DSN2516" FIELDS "Field_L Field_M Field_N"

メモ

AX Connector を使用すると、無制限の関連したテーブルにアクセスすることができますが、5 つ以下のアクセスを推奨します。 複数のテーブルにアクセスすると処理時間が増えます。

WHERE 条件

省略可能

対象となるデータを、指定した条件を満たすレコードに限定する SQL WHERE 節。

引用符で囲まれた文字列として入力された有効な SQL 構文を使用する必要があります。

複数のテーブルを結合しようとすると、WHERE 句に結合条件が表示されます。

"Table_1.First_name = Table_2.First_name"
ORDER 複数のフィールド名

省略可能

データベース エンジンがレコードの並べ替えに使用するフィールド。 フィールド名は引用符で囲んだ文字列として指定する必要があります。

レコードを並べ替えるときにはコマンドの実行に時間がかかります。 並べ替えが重要であるときにのみ ORDER を使用します。

Microsoft SQL Server データベース内のデータに AX Connector 経由でアクセスしたいとします。 それには、DEFINE TABLE DB コマンドを使用します。 データベース プロファイルを使用して AX Connector に接続する SOURCE パラメーターも指定します。

DEFINE TABLE DB SOURCE "SQLServer_Audit" SCHEMA "HR" TITLED "Payroll" DBTABLE "HR.Employee" FIELDS "EmployeeID" DBTABLE "HR.EmployeePayHistory" FIELDS "Rate PayFrequency" WHERE "HR.Employee.EmployeeID=HR.EmployeePayHistory.EmployeeID"

備考

機能の仕組み

Analytics サーバー テーブルは、データベース プロファイルを使用してデータベース テーブルに接続するためのクエリとして定義されます。

日付時刻値の時刻部分を非表示にする

日付時刻値の時刻部分を非表示にするには、DEFINE TABLE DB コマンドの前に SET SUPPRESSTIME コマンドを置きます。

SET SUPPRESSTIME ON は、バージョン 10.0 より前の Analytics スクリプトで使用することを目的としています。それらのスクリプトでは、日付時刻値の時刻部分は切り捨てられることが前提となっています。 それらのスクリプトは、SET SUPPRESSTIME ON を追加しない場合には、日付時刻型対応バージョンの Analytics では動作することができません。

詳細については、SET コマンドの「SET SUPPRESSTIME」セクションを参照してください。