これらのプロパティーは、 IBM® Campaign からアクセス可能なデータベース、および照会の構成方法に関する多くの面を制御します。
Campaign で追加する各データ・ソースは、
partition[n] > dataSources > DATA_SOURCE_NAME の下のカテゴリーによって表されます。
|
Marketing Platform において、各パーティションの Campaign システム・テーブル・データ・ソースの名前は UA_SYSTEM_TABLES でなければならず、 Campaign のどのパーティションについても、「構成」ページに dataSources > UA_SYSTEM_TABLES のカテゴリーが存在していなければなりません。
|
Campaign は、データ・ソースのタイプに従ってデータ・ソース・アクセス・ライブラリーを選択します。 例えば、Oracle の接続には
libora4d.so が使用され、
DB2® の接続には
libdb24d.so が使用されます。 ほとんどの場合、デフォルトの選択内容が適切です。 しかし、
Campaign の実際の環境においてデフォルト値が適切でないという場合には、
AccessLibrary プロパティーを変更することが可能です。 例えば、64 ビット
Campaign には 2 つの ODBC アクセス・ライブラリーが提供されています。1 つは unixODBC 実装 (
libodb4d.so) と互換の ODBC データ・ソースに適したもの、もう 1 つは、DataDirect 実装 (Teradata などへのアクセスのために
Campaign が使用する
libodb4dDD.so) と互換のものです。
Campaign には、ODBC Unicode API ではなく ODBC ANSI API をサポートする
AIX® ODBC ドライバー・マネージャーのための 2 つの追加ライブラリーが含まれています。
AliasPrefix プロパティーは、ディメンション・テーブルを使用していて新しいテーブルに書き込む際に、
Campaign により自動的に作成される別名を、
Campaign がどのように生成するかを指定します。
AllowSegmentUsingSQLCase プロパティーは、
Campaign の Segment プロセスにおいて、構成に関する特定の条件が満たされた場合に、複数の SQL ステートメントを統合して単一の SQL ステートメントにするかどうかを指定します。
このプロパティーを TRUE に設定すると、以下の条件のすべてが満たされた場合に、パフォーマンスが大幅に改善されます。
この場合、Campaign は、セグメンテーションを実行した後、フィールドごとのセグメント処理を
Campaign アプリケーション・サーバー上で実行するための単一の SQL
CASE ステートメントを生成します。
AllowTempTables プロパティーは、
Campaign がデータベース中に一時テーブルを作成するかどうかを指定します。 一時テーブルを作成すると、キャンペーンのパフォーマンスが大幅に改善されることがあります。 値が
TRUE の場合、一時テーブルが有効です。
一時テーブルが有効でない場合、Campaign は、選択された ID をサーバー・メモリー中に保持します。 追加の照会では、データベースから ID を取り出して、サーバー・メモリー中の ID との突き合わせが実行されます。
ASMSaveDBAuthentication プロパティーは、
Campaign にログインし、それまでにログインしていないデータ・ソース中のテーブルをマップする際に、
Campaign がユーザー名とパスワードを
IBM® EMM に保存するかどうかを指定します。
このプロパティーを TRUE に設定した場合、
Campaign は、データ・ソースへのログイン時にユーザー名とパスワードを入力するためのプロンプトを表示しません。 このプロパティーを
FALSE に設定した場合、データ・ソースにログインするたびに、毎回ユーザー名とパスワードを入力するためのプロンプトが
Campaign によって表示されます。
ASMUserForDBCredentials プロパティーは、
Campaign システムのユーザーに割り当てられている
IBM® EMM ユーザー名を指定します (
Campaign システム・テーブルにアクセスするために必要)。
BulkInsertRequiresColumnType プロパティーは、Data Direct ODBC データ・ソースのサポートのためにのみ必要です。 Data Direct ODBC データ・ソースにおいて、バルク (配列) 挿入機能を使用する場合、このプロパティーを TRUE に設定します。 その他のほとんどの ODBC ドライバーと互換にするには、このプロパティーを FALSE に設定します。
ConditionalSQLCloseBracket プロパティーは、未加工 SQL カスタム・マクロ内で、条件付きセグメントの終わりを示すために使用されるブラケットのタイプを指定します。 指定された左大括弧タイプと右大括弧タイプで囲まれた条件付きセグメントは、一時テーブルが存在する場合にのみ使用されます。 一時テーブルが存在しない場合は無視されます。
ConditionalSQLOpenBracket プロパティーは、未加工 SQL カスタム・マクロ内で、条件付セグメントの開始を示すために使用されるブラケットのタイプを指定します。
ConditionalSQLOpenBracket プロパティーと
ConditionalSQLCloseBracket プロパティーによって指定されるブラケットで囲まれた条件付きセグメントは、一時テーブルが存在する場合にのみ使用され、一時テーブルがない場合は無視されます。
デフォルトでは N=0 であり、その場合
Campaign は、1 つの操作ごとにデータ・ソースとの新しい接続を 1 つ確立します。
Campaign で接続キャッシュが維持されていて、接続の再利用が可能なら、
Campaign は、新しい接続を確立するのではなく、キャッシュに含まれる接続を使用します。
設定値が 0 でない場合、接続を利用して実行されるプロセスについて、
Campaign は、指定された数の接続を、
InactiveConnectionTimeout プロパティーによって指定される時間にわたって、開かれた状態に維持します。 その時間の満了後、キャッシュから接続が除去され、閉じられます。
Campaign は、
Campaign マクロ言語を使用する際、または日付列からのデータを解釈する際に、
DateFormat プロパティーの値を使用することにより、さまざまな
日付形式のデータの解析方法を決定します。
DateFormat プロパティーの値は、
Campaign において、このデータ・ソースから受け取る日付について予期されている形式に設定します。 その値は、select において日付表示のためにデータベースによって使用される形式と一致するものでなければなりません。 ほとんどのデータベースの場合、この設定値は、
DateOutputFormatString プロパティーの設定値と同じです。
Teradata では、列ごとに日付形式を定義できます。 dateFormat と
dateOutputFormatString に加えて、
SuffixOnCreateDateField を設定する必要があります。 ここでのシステム・テーブルの設定値と一貫性のあるものとするには、下記を使用します。
ODBC データ・ソースの構成の中で、「通貨、数値日付、および時刻の出力時に地域設定値を使用する」オプションにチェックが付いていない場合、日付形式をリセットすることはできません。 一般に、この設定値をクリアした状態のままにして、日付形式の構成が言語ごとに変わらないようにしておくほうが簡単です。
DateOutputFormatString プロパティーは、
Campaign が日付 (キャンペーンの開始日付や終了日付など) をデータベースに書き込む際に使用される日付データ型の形式を指定します。
DateOutputFormatString プロパティーの値は、データ・ソースにおいてタイプ
date の列について予期されている形式に設定します。 ほとんどのデータベースの場合、この設定値は
[data_source_name] >「DateFormat」プロパティーの設定値と同じです。
DateOutputFormatString プロパティーは、
DATE_FORMAT マクロの中で、
format_str について指定されている形式のいずれかに設定することができます。
DATE_FORMAT マクロは、2 つの異なる種類の形式を受け付けます。 1 つは ID (
DELIM_M_D_Y や
DDMMMYYYY など、
DATE マクロで受け付けられるのと同じ)、そしてもう 1 つは書式ストリングです。
DateOutputFormatString プロパティーの値は書式ストリングでなければなりません。
DATE マクロ ID の 1 つにすることはできません。 多くの場合、区切り形式の 1 つを使用します。
CREATE TABLE date_test (F1 DATE)
INSERT INTO date_test VALUES ('03/31/2004')
INSERT コマンドがデータベースにより正常に完了した場合、選択した形式は正しいということです。
[data_source_name] >「DateTimeFormat」プロパティーの値は、
Campaign がデータベースから日時/タイム・スタンプ・データを受け取る際に予期されている形式を指定します。 これは、select において日時/タイム・スタンプ・データの表示のためにデータベースによって使用される形式に一致していなければなりません。 ほとんどのデータベースの場合、この設定値は、
DateTimeOutputFormatString の設定値と同じです。
多くの場合、DateTimeFormat には、「データベースによる日付の選択」の表で説明されているようにして
DateFormat の値を判別した後、その
DateFormat の値の前に
DT_ を付加したものを設定します。
DateTimeOutputFormatString プロパティーは、
Campaign が、キャンペーンの開始日時や終了日実行などの日時データをデータベースに書き込む際に使用する日時データ型の形式を指定します。
DateTimeOutputFormatString プロパティーの値は、データ・ソースにおいてタイプ
datetime の列について予期されている形式に設定します。 ほとんどのデータベースの場合、この設定値は、
[data_source_name] >「DateTimeFormat」プロパティーの設定値と同じです。
DB2NotLoggedInitially プロパティーは、
DB2® の一時テーブルのデータを設定する際に、
Campaign が
not logged initially SQL 構文を使用するかどうかを決定します。 このプロパティーを
TRUE に設定した場合、一時テーブルへの挿入のロギングは無効になり、その結果、パフォーマンスが向上し、データベース・リソースの消費量が少なくなります。
DB2NotLoggedInitiallyUserTables プロパティーは、
DB2® のユーザー・テーブルへの挿入操作で、
Campaign が
not logged initially SQL 構文を使用するかどうかを決定します。 このプロパティーを
TRUE に設定した場合、ユーザー・テーブルへの挿入のロギングが無効になり、その結果、パフォーマンスが向上し、データベース・リソースの消費量が少なくなります。
|
TRUE に設定した場合、ユーザー・テーブル・トランザクションが何らかの理由で失敗すると、そのテーブルは破損した状態になり、ドロップしなければならなくなります。 それまでにそのテーブルに含まれていたデータは、すべて失われます。
|
Campaign がフラット・ファイルかユーザー定義フィールドから数値を保存するためにデータベース・フィールドを作成するときに、スナップショット・プロセスまたはエクスポート・プロセスを使用する場合、
DefaultScale プロパティーが使用されます。
DefaultScale に対して設定された値がフィールドの精度を超えた場合は、それらのフィールドに対して
DefaultScale=0 が使用されます。 例えば、精度が 5 で、
DefaultScale=6 の場合、値ゼロが使用されます。
DefaultTextType プロパティーは ODBC データ・ソースのためのものです。 このプロパティーは、ソース・テキスト・フィールドのデータ・ソース・タイプが異なる場合に、宛先データ・ソース内にテキスト・フィールドを作成する方法を
Campaign に指示します。 例えば、フラット・ファイルか別のタイプの DBMS からのソース・テキスト・フィールドである可能性があります。 同じタイプの DBMS からのソース・テキスト・フィールドである場合は、このプロパティーは無視され、ソース・テキスト・フィールドのデータ型を使用してテキスト・フィールドが宛先データ・ソース内に作成されます。
DeleteAsRecreate プロパティーは、
TRUNCATE がサポートされておらず、
REPLACE TABLE を実行するように出力処理が構成されている場合に、
Campaign がテーブルをドロップしてから再作成するのか、それとも単にそのテーブルから削除するのみかを指定します。
値が TRUE の場合、
Campaign はテーブルをドロップしてから再作成します。
値が FALSE の場合、
Campaign はテーブルからの
DELETE FROM を実行します。
DeleteAsTruncate プロパティーは、
REPLACE TABLE を実行するように出力プロセスが構成されている場合に、
Campaign が
TRUNCATE TABLE を使用するのか、それともテーブルから削除するのかを指定します。
値が TRUE の場合、
Campaign はテーブルからの
TRUNCATE TABLE を実行します。
値が FALSE の場合、
Campaign はテーブルからの
DELETE FROM を実行します。
|
TRUE ( Netezza®、Oracle、および SQLServer の場合)
|
|
FALSE (その他のデータベース・タイプの場合)
|
FALSE に設定されている場合、
Campaign は、1 つのコマンドを使用することにより、直接的な作成およびデータ設定 SQL 構文を実行します。 例えば、
CREATE TABLE <table_name> AS ... (Oracle および
Netezza® の場合)、および
SELECT <field_names> INTO <table_name> ... (SQL Server の場合) が使用されます。
TRUE に設定されている場合、
Campaign は、一時テーブルを作成した後、複数の別個のコマンドを使用することにより、テーブルからテーブルにデータを直接設定します。
Campaign データ・ソース構成プロパティーを使用することにより、同じ物理データ・ソースを参照する複数の論理データ・ソースを指定できます。 例えば、同じデータ・ソースについて 2 つのデータ・ソース・プロパティー・セットを作成し、1 つは
AllowTempTables = TRUE、もう 1 つは
AllowTempTables = FALSE とすることが可能です。 それらのデータ・ソースのそれぞれは、
Campaign の中で異なる名前にすることができますが、それらが同じ物理データ・ソースを参照する場合、DSN 値は同じになります。
DSNUsingOSAuthentication プロパティーは、
Campaign データ・ソースが SQL Server である場合にのみ適用されます。
Windows™ の認証モードを使用するように DSN が構成されている場合、値を
TRUE に設定します。
EnableBaseDimSelfJoin プロパティーは、ベース・テーブルとディメンション・テーブルが同じ物理テーブルにマップされ、ベース・テーブルの ID フィールド上でディメンションがベース・テーブルに関連付けられていない場合、
Campaign データベースの動作として自己結合操作を実行するかどうかを指定します。
このプロパティーのデフォルトは FALSE であり、Base テーブルとディメンション・テーブルが同じデータベース表で、かつ関係フィールドが同じ (AcctID から AcctID へ、など) であるなら、
Campaign は、結合を実行しないということを想定します。
EnableSelectDistinct プロパティーは、
Campaign の ID の内部リストに対する重複解消を
Campaign サーバーで実行するか、それともデータベースで実行するかを指定します。
値が TRUE の場合、データベースによって重複解消が実行され、データベースに対して生成される SQL 照会は以下の形になります (該当する場合)。
SELECT DISTINCT key FROM table
値が FALSE の場合、
Campaign サーバーによって重複解消が実行され、データベースに対して生成される SQL 照会は以下の形になります。
SELECT key FROM table
|
Campaign アプリケーション・サーバーで重複解消を実行することにより、データベースのリソース消費量/負荷を軽減する場合。
|
このプロパティーにどんな値を指定するかには関係なく、Campaign では、必要に応じてキーの重複解消が実行されることが自動的に保証されています。 このプロパティーは、単に重複解消がどの場所で実行されるか (データベース上か、それとも
Campaign サーバー上か) を制御するだけです。
EnableSelectOrderBy プロパティーは、
Campaign の ID の内部リストのソートを、
Campaign サーバーで実行するか、それともデータベースで実行するかを指定します。
値が TRUE の場合、データベースによってソートが実行され、そのデータベースに対して生成される SQL 照会は以下の形になります。
SELECT <key> FROM <table> ORDER BY <key>
値が FALSE の場合、
Campaign サーバーによってソートが実行され、データベースに対して生成される SQL 照会は以下の形になります。
SELECT <key>FROM <table>
ExcludeFromTableDisplay パラメーターを使用すると、
Campaign におけるテーブル・マッピングにおいて、表示されるデータベース表を制限することができます。 データベースから取り出されるテーブル名の数を少なくするわけではありません。
例えば、このパラメーターの値が sys.* に設定されている場合、
sys. で始まる名前のテーブルは表示されません。 このパラメーターの値では、大/小文字が区別されることに注意してください。
UAC_*。 一時テーブルと抽出テーブルが除外されます (
ExtractTablePrefix プロパティーの値がデフォルト値の場合)
ExtractTablePrefix プロパティーは、
Campaign におけるすべての抽出テーブル名の前に自動的に付加されるストリングを指定します。 このプロパティーは、複数のデータ・ソースが同じデータベースを指す場合に便利です。詳細については、
TempTablePrefix の説明を参照してください。
ForceNumeric プロパティーは、
Campaign が数値をデータ型
double として取り出すかどうかを指定します。 値が
TRUE に設定されている場合、
Campaign は、すべての数値をデータ型
double として取り出します。
InactiveConnectionTimeout プロパティーは、非アクティブの
Campaign データベース接続を開いたままにしておく秒数を指定します。 指定した時間が経過した後、その接続は閉じられます。 この値を
0 に設定するとタイムアウトは無効になり、接続は開いたままにされます。
InsertLogSize プロパティーは、
Campaign のスナップショット・プロセスの実行中、ログ・ファイルに新しいエントリーがいつ入力されるかを指定します。 スナップショット・プロセスによって書き込まれるレコード数が、
InsertLogSize プロパティーで指定される数の倍数に達するたびに、ログ・エントリーが書き込まれます。 それらのログ・エントリーは、実行中のスナップショット・プロセスの進行状況を判別するのに役立ちます。 この値の設定値が低すぎると、作成されるログ・ファイルが大きくなる場合があります。
JndiName プロパティーは、
Campaign システム・テーブルを構成する際にのみ使用されます (カスタマー・テーブルなど、その他のデータ・ソースでは使用されません)。 その値は、アプリケーション・サーバーで定義されている
Java™ Naming and Directory Interface (JNDI) データ・ソースに設定します (
WebSphere® または WebLogic)。
LoaderCommand プロパティーは、
Campaign においてデータベース・ロード・ユーティリティーを呼び出すために発行されるコマンドを指定します。 このパラメーターを設定すると、スナップショット・プロセスの出力ファイルのうち、「全レコード置換」設定値で使用されるものすべてについて、
Campaign はデータベース・ローダー・ユーティリティー・モードに入ります。 また、このパラメーターは、
Campaign が ID リストを一時テーブル中にアップロードする際に、データベース・ローダー・ユーティリティー・モードを呼び出します。
Contact Optimization は、
Campaign と同じ構成設定を使用して、データベース・ロード・ユーティリティーを実装します。データベース・ロード・ユーティリティーを処理するように
Campaign を構成する場合には、同じコマンドを使用するように
Contact Optimization を構成します。同様に、データベース・ロード・ユーティリティーを処理するように Contact Optimization を構成する場合には、データベース・ロード・ユーティリティーを処理するように
Campaign を構成します。
IBM® EMM インストール・ディレクトリー内のルート・ディレクトリーがそれぞれ異なることを想定しています。
Campaign のルート・ディレクトリーは
/Campaign で
Contact Optimization のルート・ディレクトリーは
/ContactOptimization なので、ローダー・コマンド内の別のコマンドと別のテンプレート・ファイルを指定できます。
|
|
|
|
|
|
|
|
|
このトークンは、LoaderControlFileTemplate パラメーターで指定されるテンプレートに従って Campaign によって生成される一時制御ファイルの絶対パスとファイル名に置換されます。
|
|
このトークンは、Campaign がデータをロードする先のデータ・ソースの名前に置換されます。 これは、このデータ・ソースのカテゴリー名で使用されるのと同じデータ・ソース名です。
|
|
このトークンは、ロード・プロセスで Campaign によって作成される一時データ・ファイルの絶対パスとファイル名に置換されます。 このファイルは、 Campaign 一時ディレクトリー UNICA_ACTMPDIR に入っています。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
このトークンは、Campaign がデータをロードする先のデータベース表名に置換されます。 このは、スナップショット・プロセスからのターゲット・テーブルまたは Campaign によって作成される一時テーブルの名前です。
|
|
|
LoaderCommandForAppend パラメーターは、
Campaign においてデータベース表にレコードを付加するために、データベース・ロード・ユーティリティーを起動するために発行するコマンドを指定します。 このパラメーターを設定すると、スナップショット・プロセスの出力ファイルのうち、「レコード付加」設定値で使用されるものすべてについて、
Campaign はデータベース・ローダー・ユーティリティー・モードに入ります。
|
|
|
|
|
|
|
|
|
このトークンは、LoaderControlFileTemplate パラメーターで指定されるテンプレートに従って Campaign によって生成される一時制御ファイルの絶対パスとファイル名に置換されます。
|
|
このトークンは、Campaign がデータをロードする先のデータ・ソースの名前に置換されます。 これは、このデータ・ソースのカテゴリー名で使用されるのと同じデータ・ソース名です。
|
|
このトークンは、ロード・プロセスで Campaign によって作成される一時データ・ファイルの絶対パスとファイル名に置換されます。 このファイルは、 Campaign 一時ディレクトリー UNICA_ACTMPDIR に入っています。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
このトークンは、Campaign がデータをロードする先のデータベース表名に置換されます。 このは、スナップショット・プロセスからのターゲット・テーブルまたは Campaign によって作成される一時テーブルの名前です。
|
|
|
LoaderControlFileTemplate プロパティーは、
Campaign で構成されている制御ファイル・テンプレートの絶対パスとファイル名を指定します。 このパラメーターが設定されている場合、
Campaign は、ここに指定するテンプレートに基づいて、一時制御ファイルを動的に作成します。 この一時制御ファイルのパスおよび名前は、LoaderCommand パラメーターから利用可能な
<CONTROLFILE> トークンから利用可能です。
Campaign をデータベース・ローダー・ユーティリティー・モードで使用するには、その前に、このパラメーターによって指定される制御ファイル・テンプレートを構成することが必要です。 制御ファイル・テンプレートでは、以下のトークンがサポートされています。 それらは、
Campaign によって一時制御ファイルが作成される際に動的に置換されます。
LoaderControlFileTemplate で利用可能なトークンとしては、
LoaderCommand プロパティーについて説明されているのと同じものに加えて、アウトバウンド・テーブル内のフィールドごとに 1 回ずつ反復される以下の特殊トークンがあります。
|
|
|
|
|
|
|
|
|
|
|
このトークンは、リテラル CHAR( ) に置換されます。 () の中により、このフィールドの長さが指定されます。 データベースでフィールド・タイプ CHAR が認識されていない場合、フィールド・タイプとして適切なテキストを手動で指定し、 <FIELDLENGTH> トークンを使用することができます。 例えば、SQLSVR および SQL2000 の場合、 SQLCHAR(<FIELDLENGTH>) を使用します。
|
|
|
|
|
|
|
|
|
LoaderControlFileTemplateForAppend プロパティーは、
Campaign において構成されている制御ファイル・テンプレートの絶対パスとファイル名を指定します。 このパラメーターが設定されている場合、
Campaign は、ここで指定されているテンプレートに基づいて一時制御ファイルを動的に作成します。 この一時制御ファイルのパスおよび名前は、
LoaderCommandForAppend プロパティーから利用可能な
<CONTROLFILE> トークンから利用可能です。
Campaign をデータベース・ローダー・ユーティリティー・モードで使用するには、その前に、このパラメーターによって指定される制御ファイル・テンプレートを構成することが必要です。 制御ファイル・テンプレートでは、以下のトークンがサポートされています。 それらは、
Campaign によって一時制御ファイルが作成される際に動的に置換されます。
LoaderDelimiter プロパティーは、一時データ・ファイルが固定幅フラット・ファイルか、それとも区切りフラット・ファイルかを指定します。 また、区切りファイルの場合には、
Campaign が区切り文字として使用する文字を指定します。
値が未定義の場合、Campaign は、固定幅フラット・ファイルとして一時データ・ファイルを作成します。
LoaderDelimiterForAppend プロパティーは、
Campaign の一時データ・ファイルが固定幅フラット・ファイルであるか、それとも区切りフラット・ファイルであるかを指定します。 また、区切りファイルの場合には、区切りとして使用する文字または文字の集合を指定します。
値が未定義の場合、Campaign は、固定幅フラット・ファイルとして一時データ・ファイルを作成します。
Campaign|partitions|partition[n]|dataSources|dataSourcename
LoaderUseLocaleDP プロパティーは、
Campaign が、データベース・ロード・ユーティリティーによってロードされるファイルに数値を書き込む際に、小数点としてロケール固有の記号を使用するかどうかを指定します。
Campaign が SQL 中の単一リスト (WHERE 節の IN 演算子の後の値リストなど) の中に含めることのできる項目の最大数を指定します。
MaxQueryThreads プロパティーは、
Campaign の単一のフローチャートから、各データベース・ソースに対して同時実行可能な照会の数の上限を指定します。
Campaign は、独立した複数のスレッドを使用してデータベース照会を実行します。
Campaign のプロセスは並列実行されるため、単一のデータ・ソースに対して複数の照会を同時に実行することが少なくありません。 並列実行する照会の数がこのプロパティーで指定される値を超えると、
Campaign サーバーは、同時実行照会の数を、自動的にこの値まで制限します。
選択された ID 数が MaxRowFetchRecords プロパティーによって指定される値より小さい場合、
Campaign は、一度に 1 つずつ、それぞれ別個の SQL 照会で ID をデータベースに渡します。 この処理には、非常に長い時間がかかる場合があります。 選択された ID 数がこのパラメーターで指定される値より大きい場合、
Campaign は、一時テーブルを使用するか (データベース・ソースに対して可能な場合)、またはテーブルから、不要な値を除くすべての値をプルダウンします。
照会が発行されると Campaign は、その照会の結果として、ID の正確なリストを内容とする一時テーブルをデータベース上に作成します。 すべてのレコードを選択する追加照会がデータベースに対して発行される場合、
MaxTempTableJoinPctSelectAll プロパティーによって、一時テーブルとの結合が実行されるかどうかが指定されます。
このプロパティーは、AllowTempTables プロパティーの値が
TRUE に設定されている場合にのみ適用されます。
useInDbOptimization プロパティーが
YES に設定されている場合、このプロパティーは無視されます。
0-100 の範囲の整数。 値が
0 の場合、それは、一時テーブルの結合が決して使用されないことを意味します。 値が
100 の場合、それは、一時テーブルのサイズには関係なく常にテーブルの結合が使用されることを意味します。
SELECT CustID FROM Customer
WHERE Accnt_balance > 1000
次に、選択された ID (CustID) と現在の残高 (
Accnt_balance) のスナップショットを取るとします。 一時テーブル (
Temp_table) の相対サイズは 90% (
MaxTempTableJoinPctSelectAll) より小さいため、まず一時テーブルとの結合が実行されます。 スナップショット・プロセスによって生成される SQL 式は、以下のようになります。
SELECT CustID, Accnt_balance FROM Customer, Temp_table WHERE CustID = TempID
SELECT CustID, Accnt_balance FROM Customer
照会が発行されると Campaign は、その照会の結果として、ID の正確なリストを内容とする一時テーブルをデータベース上に作成します。 制限条件を伴うレコード選択の追加照会がデータベースに対して発行される場合、
MaxTempTableJoinPctWithCondition プロパティーは、一時テーブルとの結合を実行するかどうかを指定します。
一時テーブルの相対サイズ (パーセントとして指定) が MaxTempTableJoinPctWithCondition の値より大きい場合、結合は実行されません。 これにより、不要なデータベースでのオーバーヘッドが回避されます。 その場合、データベースに対する照会が発行され、結果として ID のリストが取り出された後、サーバー・メモリー内のリストに一致する不要なレコードが破棄されます。
このプロパティーは、AllowTempTables プロパティーの値が
TRUE に設定されている場合にのみ適用されます。
0-100 の範囲の整数。 値が
0 の場合、それは、一時テーブルの結合が決して使用されないことを意味します。 値が
100 の場合、それは、一時テーブルのサイズには関係なく常にテーブルの結合が使用されることを意味します。
このプロパティーが構成されていない場合、Campaign では、値としてデフォルト値 (ゼロ) が想定されます。 このプロパティーが構成されてはいるが、値として設定されているのが負の値または非整数値である場合、
Campaign は値がゼロであると想定します。
このプロパティーが構成されていない場合、Campaign では、値としてデフォルト値 (ゼロ) が想定されます。 このプロパティーが構成されてはいるが、値として設定されているのが負の値または非整数値である場合、
Campaign は値がゼロであると想定します。
NumberOfRetries プロパティーは、データベース操作での障害発生時に
Campaign が自動的に再試行する回数を指定します。
Campaign は、この回数だけ、データベースに対する照会を自動的に再サブミットします。 この回数を超えると、データベース・エラーまたは障害が報告されます。
ODBCUnicode プロパティーは、
Campaign ODBC 呼び出しにおいて使用されるエンコード方式のタイプを指定します。 これは、ODBC データ・ソースでのみ使用されるものであり、Oracle または
DB2® のネイティブ接続で使用される場合は無視されます。
|
このプロパティーが UTF-8 または UCS-2 に設定されている場合、データ・ソースの StringEncoding 値は UTF-8 または WIDEUTF-8 に設定されていなければなりません。 そうでない場合、 ODBCUnicode プロパティーの設定値は無視されます。
|
|
Disabled - Campaign は、ANSI ODBC 呼び出しを使用します。
|
|
UTF-8 - Campaign は、Unicode ODBC 呼び出しを使用し、SQLWCHAR が 1 バイトであると想定します。 これは DataDirect ODBC ドライバーと互換です。
|
|
UCS-2 - Campaign は、Unicode ODBC 呼び出しを使用し、SQLWCHAR が 2 バイトであると想定します。 これは Windows™ および unixODBC ODBC ドライバーと互換です。
|
ODBCv2 プロパティーは、
Campaign においてデータ・ソースのためにどの ODBC API 仕様を使用するかを指定するために使用します。
デフォルト値は FALSE であり、その場合、
Campaign は v3 API 仕様を使用します。
TRUE に設定した場合、
Campaign は v2 API 仕様を使用します。 ODBC v3 API 仕様がサポートされていないデータ・ソースでは、
ODBCv2 プロパティーを
TRUE に設定します。
ODBCv2 プロパティーが
TRUE に設定されている場合、
Campaign において ODBC Unicode API はサポートされず、
ODBCUnicode プロパティーに関して
disabled 以外の値は認識されなくなります。
PadTextWithSpaces プロパティーが
TRUE に設定されている場合、
Campaign は、ストリングがデータベース・フィールドと同じ幅になるまで、テキスト値にスペースを埋め込みます。
PrefixOnSelectSQL プロパティーは、
Campaign によって生成される
SELECT SQL 式のすべてに対して、自動的にその先頭に付加するストリングを指定するために使用します。
このプロパティーは Campaign により生成された SQL にのみ適用され、選択プロセスで使用される「未加工 SQL」式の SQL には適用されません。
QueryThreadSleep プロパティーは、
Campaign サーバー・プロセス (
UNICA_ACSVR) の CPU 使用率に影響します。 値が
TRUE に設定されている場合、
Campaign サーバー・プロセスが照会の完了をチェックするために使用するスレッドは、チェックとチェックの間でスリープします。 値が
FALSE の場合、
Campaign サーバー・プロセスは、照会の完了を連続的にチェックします。
ReaderLogSize パラメーターは、
Campaign がデータベースからデータを読む際に、ログ・ファイル中の新しいエントリーをいつ作成するかを定義します。 データベースから読み取られるレコード数が、このパラメーターによって定義される数の倍数に達するたびに、ログ・エントリーがログ・ファイルに書き込まれます。
SQLOnConnect プロパティーは、各データベース接続の直後に
Campaign が実行する、完成された 1 個の SQL ステートメントを定義します。
StringEncoding プロパティーは、データベースの文字エンコードを指定します。
Campaign がデータベースからデータを取り出す際、指定されたエンコード方式から、
Campaign の内部エンコード方式 (
UTF-8) にデータが変換されます。
Campaign がデータベースに照会を送信する際、内部エンコード方式
Campaign (
UTF-8) から、
StringEncoding プロパティーで指定されるエンコード方式に文字データが変換されます。
データベース・クライアントのエンコード方式が UTF-8 の場合、この値のための望ましい設定値は
WIDEUTF-8 です。
WIDE-UTF-8 設定値は、データベース・クライアントが
UTF-8 に設定されている場合にのみ有効です。
このセクションでは、DB2®、SQL Server、または Teradata データベースの適切な値を設定する方法について説明します。
DB2® データベース・コード・ページおよびコード・セットを識別します。 ローカライズされた環境の場合、
DB2® データベースの構成を以下のようにする必要があります。
Campaign の
StringEncoding プロパティー値を
DB2® データベース・コード・セット値に設定します。
|
Windows™ の場合: 以下の行を Campaign リスナーの始動スクリプト ( <CAMPAIGN_HOME>¥bin¥cmpServer.bat) に追加します。
|
|
UNIX™ の場合: DB2® を開始した後、システム管理者は次のコマンドを DB2® インスタンス・ユーザーから入力する必要があります。
|
この設定は DB2® のすべてのデータ・ソースに影響します。 さらに、実行中の他のプログラムにも影響する可能性があります。
StringEncoding=CP932
CharacterSet=UTF8
通常、Campaign は、その内部エンコード方式
UTF-8 と、データベースのエンコード方式の間のトランスコーディングをそれ自身で処理します。 データベースのエンコードが
UTF-8 の場合、
StringEncoding の値として
UTF-8 を指定することができ (SQLServer を除く)、トランスコーディングは不要です。 従来、データベース内の英語以外のデータに
Campaign がアクセスするための可能なモデルは、それらのみでした。
Campaign のバージョン 7.0 では、
StringEncoding プロパティーのための値として、
WIDEUTF-8 という新しいデータベース・エンコード方式が導入されています。 このエンコード方式を使用することにより
Campaign では、データベース・クライアントとの通信に
UTF-8 を使用しながら、
UTF-8 と実際のデータベースのエンコード方式との間のトランスコーディングの作業をクライアント側で実行することが可能です。 変換後のテキストに十分に対応できるよう、テーブル列マッピングの幅を変更するため、このように拡張されたバージョンの
UTF-8 が必要になっています。
SuffixOnAllOtherSQL プロパティーは、
Campaign によって生成されるあらゆる SQL 式のうち、
SuffixOnInsertSQL、SuffixOnSelectSQL、 SuffixOnTempTableCreation、SuffixOnUserTableCreation、そして
SuffixOnUserBaseTableCreation のどのプロパティーによってもカバーされないものに自動的に付加するストリングを指定します。
このプロパティーは Campaign により生成された SQL にのみ適用され、選択プロセスで使用される「未加工 SQL」式の SQL には適用されません。
TRUNCATE TABLE table
DROP TABLE table
DELETE FROM table [WHERE ...]
UPDATE table SET ...
SuffixOnCreateDateField = FORMAT 'YYYY-MM-DD'
SuffixOnInsertSQL プロパティーは、
Campaign によって生成されるすべての
INSERT SQL 式に自動的に付加されるストリングを指定します。 このプロパティーは
Campaign により生成された SQL にのみ適用され、選択プロセスで使用される「未加工 SQL」式の SQL には適用されません。
INSERT INTO table ...
SuffixOnSelectSQL プロパティーは、
Campaign によって生成されるすべての
SELECT SQL 式に自動的に付加されるストリングを指定します。 このプロパティーは
Campaign により生成された SQL にのみ適用され、選択プロセスで使用される「未加工 SQL」式の SQL には適用されません。
SuffixOnTempTableCreation プロパティーは、一時テーブルが作成される際に
Campaign によって生成される SQL 式に自動的に付加されるストリングを指定するために使用します。 このプロパティーは
Campaign により生成された SQL にのみ適用され、選択プロセスで使用される「未加工 SQL」式の SQL には適用されません。このプロパティーを使用するためには、
AllowTempTables プロパティーが
TRUE に設定されていなければなりません。
SuffixOnUserBaseTableCreation プロパティーは、ユーザーがベース・テーブルを作成する際に (抽出プロセスなど)、
Campaign によって生成される SQL 式に自動的に付加されるストリングを指定するために使用します。 このプロパティーは
Campaign により生成された SQL にのみ適用され、選択プロセスで使用される「未加工 SQL」式の SQL には適用されません。
SuffixOnUserTableCreation プロパティーは、ユーザーが一般のテーブルを作成する際に (スナップショット・プロセスなど)、
Campaign によって生成される SQL 式に自動的に付加されるストリングを指定するために使用します。 このプロパティーは
Campaign により生成された SQL にのみ適用され、選択プロセスで使用される「未加工 SQL」式の SQL には適用されません。
UA_SYSTEM_TABLES データ・ソースに複数のスキーマが含まれるという場合 (例えば、複数のグループで使用される Oracle データベースの場合) 以外は、この値をブランクのままにしてください。 (この文脈で「スキーマ」という語は、
X.Y という形式の「修飾」テーブル名の先頭部分のことを指します (
dbo.UA_Folder など)。 ただし、この形式のうち
X はスキーマ、
Y は修飾なしのテーブル名です。 この構文に関しては、
Campaign でサポートされているさまざまな異なるデータベース・システムの間で異なる用語が使用されています。)
TempTablePostExecutionSQL プロパティーは、ユーザー・データ・ソースまたはシステム・テーブル・データベースでの一時テーブルの作成直後に
Campaign によって実行される、完成された 1 つの SQL ステートメントを指定するために使用します。 データ・ソースで一時テーブルを作成できるようにするには、
AllowTempTables プロパティーを
TRUE に設定する必要があります。
TableListSQL プロパティーは、マップに使用可能なテーブルのリストにシノニムを含めるために使用する SQL 照会を指定するために使用します。
有効な SQL 照会でこのプロパティーを設定する場合、Campaign により、マッピング用のテーブルのリストを取り出すための SQL 照会が発行されます。 その照会から 1 個の列が返される場合、それは名前の列として扱われます。 その照会から 2 個の列が返される場合、最初の列は所有者の名前の列であると想定され、2 番目の列はテーブル名の列であると見なされます。
select B.name AS oName, A.name AS tName
from sys.synonyms A LEFT OUTER JOIN sys.schemas B
on A.schema_id = B.schema_id ORDER BY 1, 2
*select B.name AS oName, A.name AS tName from
(select name, schema_id from sys.synonyms UNION
select name, schema_id from sys.tables UNION select name,
schema_id from sys.views) A LEFT OUTER JOIN sys.schemas B on
A.schema_id = B.schema_id ORDER BY 1, 2
*select OWNER, TABLE_NAME from (select OWNER, TABLE_NAME
from ALL_TABLES UNION select OWNER, SYNONYM_NAME AS TABLE_NAME
FROM ALL_SYNONYMS UNION select OWNER,
VIEW_NAME AS TABLE_NAME from ALL_VIEWS) A ORDER BY 1, 2
SQLOnConnect プロパティーは、各データベース接続の直後に
Campaign が実行する、完成された 1 個の SQL ステートメントを定義します。
UOSQLOnConnect プロパティーはこれによく似ていますが、それは特に
Contact Optimization 適用されます。
このプロパティーのデフォルト値は FALSE です。 これは、Campaign が標準的な方法 (ODBC やネイティブ接続など) を使用してスキーマを取り出すよう指示するものです。 このプロパティーを TRUE に設定すると、
Campaign は、テーブル・スキーマを取り出すために
select * from <table> のような SQL 照会を準備することになります。
これは、各データ・ソース固有の利点を提供するものとなります。 例えば、一部のデータ・ソース (Netezza®、SQL Server) の場合、デフォルトの ODBC またはネイティブ接続では SQL のシノニム (
create synonym 構文を使用して定義されるデータベース・オブジェクトの代替名) のレポートが正しく作成されません。 このプロパティーを TRUE に設定することにより、
Campaign 内でのデータ・マッピングのための SQL シノニムが取り出されます。
|
Netezza® においてシノニムのサポートを可能にするには、このプロパティーを TRUE に設定する必要があります。 このプロパティーを TRUE に設定すると、 Campaign は、テーブル・スキーマを取り出すための SQL 照会を準備することになります。 Netezza® データ・ソースにおいて、シノニム・サポートのために、それ以外の設定や値は必要ありません。
|
Campaign で
Netezza® または SQL Server シノニムが正常に動作するためには、
UseSQLToRetrieveSchema=TRUE
Campaign|partitions|partition[n]|dataSources|dataSourcename
このプロパティーは、「新規マップ・テーブル」 >
「ベース・レコード・テーブル」 >
「選択したデータベースに新規テーブル作成」に書き込むようにプロセス・ボックスが構成されている場合に呼び出されます。 このプロパティーは、(作成プロセスやマッピング・プロセス中に) テーブルが作成される場合のみ呼び出されます。 このプロパティーは、プロセス・ボックスの実行時には呼び出されません。
トークンを使用して、この SQL ステートメントの <TABLENAME> を置換できます。これは、キャンペーンの実行時に名前が動的に生成されるためです。使用できるトークンについては、
UserTablePostExecutionSQL を参照してください。
|
「新規マップ・テーブル」 > 「その他のテーブル」 > 「選択したデータソースに新規テーブル作成 (Create New Table in Selected Datasource)」。 プロパティーは、作成またはマッピングのプロセス中に呼び出されます。 スナップショットの実行時には呼び出されません。
|
|
「新規マップ・テーブル」 > 「ディメンション・テーブル」 > 「選択したデータベースに新規テーブル作成」: このプロパティーは作成/マッピング・プロセス中に呼び出されます。 スナップショットの実行時には呼び出されません。
|
UseTempTablePool が
FALSE に設定されている場合、一時テーブルはドロップされ、フローチャートが実行されるたびに毎回再作成されます。 プロパティーが
TRUE に設定されている場合、一時テーブルがデータベースからドロップされません。 一時テーブルは、切り捨てられた上で、
Campaign によって維持されているテーブルのプールから再利用されます。 一時テーブル・プールは、フローチャートを何度も再実行するような環境で最も効果的です (設計フェーズやテスト・フェーズなど)。
SnapshotTablePostExecutionSQL プロパティーは、スナップショット・テーブルが作成され、データが設定された直後に実行される、完成された 1 個以上の SQL ステートメントを指定するために使用します。 このプロパティーは、「スナップショット」プロセス・ボックスが抽出テーブルに書き出す場合のみ呼び出されます。
このプロパティーは、Campaign によって作成されるすべての一時テーブルの名前の先頭に、自動的に付加されるストリングを指定します。このプロパティーは、一時テーブルの識別や管理に役立ちます。また、このプロパティーを使用することによって、一時テーブルを特定の場所に作成することができます。
TempTablePrefix="<USER>"
例えば、TempTablePostExecutionSQL プロパティーを使用することにより、索引作成のための以下の SQL ステートメントを指定できます。
その上で、TempTablePreTruncateExecutionSQL プロパティーに、索引をドロップするための以下の照会を指定します。
TempTablePreTruncateRunScript プロパティーは、一時テーブルの切り捨ての前に実行するスクリプトまたは実行可能ファイルを指定するために使用します。 指定するスクリプトは、
PostTempTableCreateRunScript プロパティーで指定される SQL ステートメントの効果を打ち消すために使用することができます。
例えば、PostTempTableCreateRunScript プロパティーを使用することにより、索引作成のための以下の SQL ステートメントを含むスクリプトを指定することができます。
その上で、TempTablePreTruncateRunScript プロパティーに、索引をドロップするための以下のステートメントを含む別のスクリプトを指定します。
|
何らかの理由で Campaign がレコードを削除できなかった場合、テーブルはドロップされません。
|
TruncateSQL プロパティーは、
DB2® データ・ソースで使用可能であり、テーブルの切り捨てのための代替 SQL を指定するために使用します。 このプロパティーは、
DeleteAsTruncate が TRUE に設定されている場合にのみ適用されます。
DeleteAsTruncate が TRUE に設定されている場合、このプロパティーにカスタム SQL が指定されているなら、テーブルの切り捨てには、それが使用されます。 このプロパティーが設定されていない場合、
Campaign は、TRUNCATE TABLE <TABLENAME> の構文を使用します。
Campaign によりマージ・プロセスまたはセグメント・プロセスでの排他操作が実行される場合、デフォルトとして次のような「NOT EXISTS」の構文が使用されます。
SELECT IncludeTable.ID FROM IncludeTable WHERE NOT EXISTS
(SELECT * FROM ExcludeTable WHERE IncludeTable.ID = ExcludeTable.ID)
UseExceptForMerge が
TRUE に設定されていて、かつ、「NOT IN」を使用できない場合 (これを使用できなくなるのは、
UseNotInForMerge が無効になっているか、またはオーディエンス・レベルが複数のフィールドで構成されていてデータ・ソースが Oracle でないときです)、この構文は以下のように変更になります。
SELECT IncludeTable.ID FROM IncludeTable
MINUS (SELECT ExcludeTable.ID FROM ExcludeTable)
SELECT IncludeTable.ID FROM IncludeTable
EXCEPT (SELECT ExcludeTable.ID FROM ExcludeTable)
UseNonANSIJoin プロパティーは、このデータ・ソースで非 ANSI の結合構文を使用するかどうかを指定します。 データ・ソースのタイプが Oracle7 または Oracle8 に設定されている場合、
UseNonANSIJoin の値が
TRUE に設定されているなら、データ・ソースにおいて Oracle に該当する非 ANSI の結合構文が使用されます。
Campaign によりマージ・プロセスまたはセグメント・プロセスでの排他操作が実行される場合、デフォルトとして次のような「NOT EXISTS」の構文が使用されます。
SELECT IncludeTable.ID FROM IncludeTable WHERE NOT EXISTS (SELECT *
FROM ExcludeTable WHERE IncludeTable.ID = ExcludeTable.ID)
UseNotInForMerge が有効 (値が
YES に設定されている) の場合で、しかも (1) オーディエンス・レベルが単一 ID フィールドで構成されているか、または (2) データ・ソースが Oracle であるかのいずれかなら、構文は以下のように変更されることになります。
SELECT IncludeTable.ID FROM IncludeTable WHERE IncludeTable.ID NOT IN
(SELECT ExcludeTable.ID FROM ExcludeTable)
UseSQLToProfile プロパティーは、("
SELECT field, count(*) FROM table GROUP BY field" を使用して) プロファイルを計算するのに、レコードを取り出す代わりに、データベースに対して SQL 照会
GROUP BY をサブミットするよう、
Campaign を構成するために使用します。
|
値が FALSE (デフォルト) の場合、 Campaign は、テーブル中の全レコードについてフィールド値を取り出してフィールドのプロファイルを作成し、異なる各値のカウントを追跡します。
|
|
値が TRUE の場合、 Campaign は、以下のような照会を発行することにより、フィールドのプロファイルを作成します。
|
SELECT field, COUNT(*) FROM table GROUP BY field
Copyright IBM Corporation 2015. All Rights Reserved.
|