此类别中的属性配置 Campaign 如何与数据库(包括它自己的系统表)交互。这些属性指定
Campaign 可以访问的数据库以及关于如何构成查询的许多方面。
您在 Campaign 中添加的每个数据源都用分区[n] > 数据源 > [DATA_SOURCE_NAME] 下的一种类别表示。
|
每个分区的 Campaign 系统表数据源必须在 Marketing Platform 中命名为 UA_SYSTEM_TABLES,数据源 > UA_SYSTEM_TABLES 类别必须存在于每个 Campaign 分区的“配置”页面中。
|
Campaign 根据数据源类型来选择其数据源访问库。例如,
libora4d.so 用于 Oracle 连接,而
libdb24d.so 用于
DB2® 连接。在大多数情况下,缺省选择都正确。但如果缺省值在您的
Campaign 环境中被证明不正确,那么也可以更改
AccessLibrary 属性。例如,64 位
Campaign 提供两个 ODBC 访问库:一个适用于与 unixODBC 实现兼容的 ODBC 数据源 (
libodb4d.so),而另一个适用于与 DataDirect 实现兼容的 ODBC 数据源(例如,
libodb4dDD.so,由
Campaign 用来访问 Teradata)。
AliasPrefix 属性指定
Campaign 构成别名的方法,此别名是
Campaign 在使用维表和写入到新表时自动创建的。
确定 Campaign 是否尝试执行选择过程中使用的基本表的 SQL 连接(从同一个数据源);如果不执行此连接,那么将在
Campaign 服务器上执行与之相当的连接。
在这种情况下,Campaign 生成一条 SQL
CASE 语句来执行细分,接着在
Campaign 应用程序服务器上执行按字段的细分市场处理。
AllowTempTables 属性指定
Campaign 是否在数据库中创建临时表。创建临时表会显著提高竞销活动的性能。值为
TRUE 时,将启用临时表。
如果不启用临时表,那么 Campaign 将在服务器内存中保留选定的标识。其他查询从数据库中检索标识,并将这些标识与服务器内存中的标识进行匹配。
如果将此属性设置为 TRUE,那么在您登录数据源时,
Campaign 将不提示您输入用户名和密码。如果将此属性设置为
FALSE,那么在您每次登录数据源时,
Campaign 都会提示您输入用户名和密码。
仅在支持 Data Direct ODBC 数据源时需要 BulkInsertRequiresColumnType 属性。请在使用批量(数组)插入时为 Data Direct ODBC 数据源将此属性设置为 TRUE。将此属性设置为 FALSE 以与大多数其他 ODBC 驱动程序兼容。
ConditionalSQLCloseBracket 属性指定用于在原始 SQL 定制宏中表示条件细分市场结束的括号类型。仅当临时表存在时,才使用
ConditionalSQLOpenBracket 和
ConditionalSQLCloseBracket 属性指定的括号中的条件细分市场,如果没有临时表,那么将忽略这些细分市场。
ConditionalSQLOpenBracket 属性指定用于在原始 SQL 定制宏中表示条件细分市场开始的括号类型。仅当临时表存在时,才使用
ConditionalSQLOpenBracket 和
ConditionalSQLCloseBracket 属性指定的括号中的条件细分市场,如果没有临时表,那么将忽略这些细分市场。
缺省情况下 (N=0),
Campaign 为每个操作建立一个到数据源的新连接;如果
Campaign 维护连接的高速缓存并且连接可供复用,那么
Campaign 将使用高速缓存的连接而不必建立新连接。
如果此设置不为 0,那么在连接过程完成后,
Campaign 将在
InactiveConnectionTimeout 属性指定的时间内使指定数目的连接处于打开状态。在此时间到期后,连接将从高速缓存中删除并关闭。
Campaign 使用
DateFormat 属性的值来确定当使用
Campaign 宏语言或解释日期列中的数据时,如何解析
date 格式的数据。
请将 DateFormat 属性的值设置为
Campaign 将用于从该数据源接收日期的格式。该值必须与数据库用来显示选定日期的格式相匹配。对于大多数数据库,该设置与
DateOutputFormatString 属性的设置相同。
|
|
|
从运行 Campaign 服务器的机器连接到数据库。使用 Campaign\bin 目录中的 db2test 连接并发出以下命令:
|
|
从运行 Campaign 服务器的机器连接到数据库。使用 Campaign\bin 目录中的 odbctest 连接并发出以下命令:
|
|
从运行 Campaign 服务器的机器登录到数据库。使用 SQL *Plus 连接并发出以下命令:
|
|
从运行 Campaign 侦听器的机器连接到数据库。使用 Campaign\bin 目录中的 odbctest 连接并发出以下命令:
|
DateOutputFormatString 属性指定要在
Campaign 将任何日期(如竞销活动开始或结束日期)写入数据库时使用的日期数据类型的格式。请将
DateOutputFormatString 属性的值设置为数据源要为
date 类型的列使用的格式。对于大多数数据库,该设置与
[data_source_name] > DateFormat 属性的设置相同。
DateOutputFormatString 属性可设置为在
DATE_FORMAT 宏中为
format_str 指定的任何格式。
DATE_FORMAT 宏接受两种不同种类的格式。一种是标识(例如
DELIM_M_D_Y、
DDMMMYYYY,与
DATE 宏接受的相同),另一种是格式字符串。
DateOutputFormatString 属性的值必须是格式字符串 - 不能是某个
DATE 宏标识。通常,请使用其中一种定界格式。
如果数据库允许 INSERT 命令成功完成,那么表示您选择了正确的格式。
DateTimeOutputFormatString 属性指定
Campaign 将任何日期时间(例如,竞销活动开始或结束日期和时间)写入数据库时要使用的日期时间数据类型的格式。请将
DateTimeOutputFormatString 属性的值设置为数据源要求对
datetime 类型的列使用的格式。对于大多数数据库,该设置与
[data_source_name] > DateTimeFormat 属性的设置相同。
DB2NotLoggedInitially 属性确定填充
DB2® 中的临时表时,
Campaign 是否使用
not logged initially SQL 语法。设置为
TRUE 时,此属性会在向临时表执行插入操作时禁用日志记录,这样可以提高性能并减少数据库资源消耗。
如果 DB2® 的版本不支持
not logged initially 语法,请将此属性设置为
FALSE。
|
设置为 TRUE 时,如果用户表事务由于某种原因而失败,那么该表将损坏,并且必须将其删除。该表中先前包含的所有数据将会丢失。
|
如果为 DefaultScale 设置的值超过字段的精度,那么将对这些字段使用
DefaultScale=0。例如,如果精度为 5,并且
DefaultScale=6,那么将使用值 0。
DeleteAsRecreate 属性指定当输出过程配置为
REPLACE TABLE 并且不支持
TRUNCATE 时,
Campaign 是删除并重新创建表,还是仅从表中删除。
值为 TRUE 时,
Campaign 删除并重新创建表。
值为 FALSE 时,
Campaign 从表中执行
DELETE FROM。
DeleteAsTruncate 属性指定当输出过程配置为
REPLACE TABLE 时,
Campaign 是使用
TRUNCATE TABLE 还是从表中删除。
值为 TRUE 时,
Campaign 从表中运行
TRUNCATE TABLE。
值为 FALSE 时,
Campaign 从表中运行
DELETE FROM。
|
对于 Netezza®、Oracle 和 SQLServer,缺省值是 TRUE。
|
设置为 FALSE 时,
Campaign 将使用某个命令来执行直接“创建并填充”SQL 语法;例如,
CREATE TABLE <table_name> AS ...(对于 Oracle 和
Netezza®)和
SELECT <field_names> INTO <table_name> ...(对于 SQL Server)。
设置为 TRUE 时,
Campaign 创建临时表,然后使用单独的命令,直接从表到表对该临时表进行填充。
将该属性设置为该 Campaign 数据源的 ODBC 配置中指定的数据源名称 (DSN)。缺省情况下未定义此值。
使用 Campaign 数据源配置属性,您可以指定引用同一物理数据源的多个逻辑数据源。例如,您可以为同一数据源创建两组数据源属性,在使用
AllowTempTables = TRUE 的情况下创建一组属性,并在使用
AllowTempTables = FALSE 的情况下创建另一组属性。这些数据源中的每一个在
Campaign 中都将具有一个不同的名称,但如果它们引用同一个物理数据源,那么它们将具有相同的 DSN 值。
仅当 Campaign 数据源为 SQL Server 时,
DSNUsingOSAuthentication 属性才适用。当 DSN 配置为使用
Windows™ 认证方式时,请将此值设置为
TRUE 。
缺省情况下,此属性设置为 FALSE,并且当基本表和维表是同一数据库并且关系字段相同时(例如,AcctID 到 AcctID),
Campaign 假定您不希望执行连接。
值为 TRUE 时,数据库执行取消重复,针对数据库生成的 SQL 查询格式如下(如果适当):
值为 FALSE 时,
Campaign 服务器将执行重复数据删除,并且针对数据库生成的 SQL 查询具有以下格式:
|
您希望 Campaign 应用程序服务器执行重复数据删除以降低数据库上的资源消耗/负载。
|
无论您为此属性指定的值如何,Campaign 都将自动确保根据需要对键进行重复数据删除。此属性只是控制取消重复在何处进行(在数据库上还是在
Campaign 服务器上)。
值为 TRUE 时,数据库执行排序,针对数据库生成的 SQL 查询格式如下:
值为 FALSE 时,
Campaign 服务器将执行排序,并且针对数据库生成的 SQL 查询具有以下格式:
UAC_*,当
ExtractTablePrefix 属性的值为缺省值时,此值将排除临时表和抽取表。
使用 ExtractTablePostExecutionSQL 属性来指定在创建和填充抽取表后立即运行的一个或多个完整的 SQL 语句。
下面描述了可用于 ExtractTablePostExecutionSQL 的标记。
ForceNumeric 属性指定
Campaign 是否检索数字值作为数据类型
double。值设置为
TRUE 时,
Campaign 将作为数据类型
double 来检索所有数字值。
InsertLogSize 属性指定在
Campaign 快照过程正运行时,何时在日志文件中输入新条目。每当快照过程写入的记录数达到
InsertLogSize 属性中指定的数字的倍数时,都会写入日志条目。日志条目可以帮助您确定正运行的快照过程的进度。如果该值设置过低会导致创建的日志文件很大。
仅当配置 Campaign 系统表时,才会使用
JndiName 属性(不适用于其他数据源,如客户表)。将其值设置为应用程序服务器(
WebSphere® 或 WebLogic)中定义的
Java™ 命名和目录接口 (JNDI) 数据源。
LoaderCommand 属性指定用于调用
Campaign 中的数据库装入实用程序的命令。如果设置此参数,那么对于与“替换所有记录”设置一起使用的快照进程中所有输出文件,
Campaign 会进入数据库装入实用程序方式。此参数还在
Campaign 将标识列表上载到临时表时调用数据库装入器实用程序方式。
|
|
|
|
|
|
|
|
|
此标记将替换为 Campaign 根据 LoaderControlFileTemplate 参数中指定的模板而生成的临时控制文件的完整路径和文件名。
|
|
此标记将替换为 Campaign 将数据装入到的数据源的名称。此名称与该数据源的类别名称中使用的数据源名称相同。
|
|
此标记将替换为 Campaign 在装入期间创建的临时数据文件的完整路径和文件名。此文件位于 Campaign 临时目录 UNICA_ACTMPDIR 中。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
此标记将替换为 Campaign 将数据装入到的数据库表名称。这是您的快照进程中的目标表或者 Campaign 正在创建的临时表的名称。
|
|
|
LoaderCommandForAppend 参数指定为调用数据库装入实用程序(以在
Campaign 中的数据库表中追加记录)而发出的命令。如果设置此参数,那么对于与“追加记录”设置一起使用的快照进程中所有输出文件,
Campaign 会进入数据库装入实用程序方式。
|
|
|
|
|
|
|
|
|
|
|
此标记将替换为 Campaign 将数据装入到的数据源的名称。此名称与该数据源的类别名称中使用的数据源名称相同。
|
|
此标记将替换为 Campaign 在装入期间创建的临时数据文件的完整路径和文件名。此文件位于 Campaign 临时目录 UNICA_ACTMPDIR 中。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
此标记将替换为 Campaign 将数据装入到的数据库表名称。这是您的快照进程中的目标表或者 Campaign 正在创建的临时表的名称。
|
|
|
LoaderControlFileTemplate 属性指定
Campaign 中配置的控制文件模板的完整路径和文件名。设置此参数时,
Campaign 根据您在此处指定的模板动态构建临时控制文件。此临时控制文件的路径和名称可用于
<CONTROLFILE> 标记,而此标记可用于 LoaderCommand 参数。
在数据库装入器实用程序中使用 Campaign 之前,必须配置此参数所指定的控制文件模板。控制文件模板支持以下标记,当
Campaign 创建临时控制文件时,将动态替换这些标记。
可用于 LoaderControlFileTemplate 的标记与为
LoaderCommand 属性描述的标记相同,另外还有下列特殊标记,对于出站表中的每个字段,将重复一次这些特殊标记。
|
|
|
|
|
|
|
|
|
|
|
此标记将替换为文字“CHAR( )”。将此字段的长度指定在 () 之间。如果数据库无法识别字段类型 CHAR,那么您可以为该字段类型手动指定适当的文本,并使用 <FIELDLENGTH> 标记。例如,对于 SQLSVR 和 SQL2000,将使用“ SQLCHAR(<FIELDLENGTH>)”
|
|
|
|
|
|
|
|
|
LoaderControlFileTemplateForAppend 属性指定
Campaign 中配置的控制文件模板的完整路径和文件名。如果设置了此参数,
Campaign 将根据此处指定的模板来动态构建临时控制文件。此临时控制文件的路径和名称可用于
<CONTROLFILE> 标记(此标记可用于
LoaderCommandForAppend 属性)。
在数据库装入器实用程序方式下使用 Campaign 之前,必须配置此参数指定的控制文件模板。控制文件模板支持以下标记,当
Campaign 创建临时控制文件时,将动态替换这些标记。
将该值设置为 TRUE 可指定使用适合语言环境的小数点符号。
允许您指定允许 Campaign 在 SQL 中的单个列表中包含的项(例如,WHERE 子句中 IN 运算符后面的值列表)的最大数量。
Campaign 使用独立线程运行数据库查询。由于
Campaign 进程并行运行,因此通常针对单个数据源同时运行多个查询。如果并行运行的查询数超过此属性指定的值,那么
Campaign 服务器会自动将同时运行的查询数限制至该值。
所选标识数量小于 MaxRowFetchRecords 属性指定的值时,
Campaign 会在单独 SQL 查询中将标识传递到数据库,每次传递一个。此过程可能非常耗时。如果所选标识数量大于此参数指定的值,那么
Campaign 将使用临时表(如果数据库源允许),或者从表中下拉所有值(不包括任何必要的值)。
发出查询时,Campaign 在包含标识精确列表的数据库上创建临时表,作为查询结果。当针对数据库发出选择所有记录的其他查询时,
MaxTempTableJoinPctSelectAll 属性指定是否执行与临时表的连接操作。
仅当 AllowTempTables 属性的值设置为
TRUE 时,此属性才适用。如果
useInDbOptimization 属性设置为
YES,那么将忽略此属性。
0 到 100 之间的整数。值为
0 意味着从不使用临时表连接;值为
100 意味着将始终使用表连接,无论临时表的大小如何。
假定 MaxTempTableJoinPctSelectAll 设置为
90。首先,您可能要从数据库表 (
Customer) 中选择帐户余额 (
Accnt_balance) 大于 1,000 美元的客户 (
CustID)。
然后,您可能希望抓取所选标识 (CustID) 以及实际余额 (
Accnt_balance) 的快照。由于临时表 (
Temp_table) 的相对大小小于 90% (
MaxTempTableJoinPctSelectAll),将首先执行与临时表的连接。快照过程生成的 SQL 表达式可能如下所示:
发出查询时,Campaign 在包含标识精确列表的数据库上创建临时表,作为查询结果。当针对数据库发出按照限制条件选择记录的其他查询时,
MaxTempTableJoinPctWithCondition 属性指定是否应执行与临时表的连接操作。
如果临时表的相对大小(以百分比指定)大于 MaxTempTableJoinPctWithCondition 的值,那么不执行连接操作。这样可以避免数据库中可能不需要的开销。在这种情况下,针对数据库发出查询,检索生成的标识列表,然后在不需要的记录与服务器内存中的列表进行匹配时废弃这些记录。
仅当 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 属性的设置。
|
|
UTF-8 - Campaign 使用 Unicode ODBC 调用并假定 SQLWCHAR 为单字节。这与 DataDirect ODBC 驱动程序兼容。
|
|
UCS-2 - Campaign 使用 Unicode ODBC 并假定 SQLWCHAR 为双字节。这与 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 以外的值均不会被识别。
设置为 TRUE 时,
PadTextWithSpaces 属性会让
Campaign 使用空格填充文本值,直至字符串的宽度与数据库字段的宽度相同。
使用 PostExtractTableCreateRunScript 属性可指定在创建和填充抽取表后,
Campaign 要运行的脚本或可执行文件。
下面描述了可用于 PostExtractTableCreateRunScript 的标记。
下面描述了可用于 PostSegmentTableCreateRunScript 的标记。
|
|
|
|
|
此标记将替换为 IBM® EMM 用户名,该用户名与为其创建“细分市场”临时表的流程图关联。
|
|
|
|
|
|
|
|
|
|
|
使用 PostSnapshotTableCreateRunScript 属性指定在创建并填充快照表之后
Campaign 运行的脚本或可执行文件。
下面描述了可用于 PostSnapshotTableCreateRunScript 的标记。
使用 PostTempTableCreateRunScript 属性指定在用户表源或系统表数据库中创建并填充临时表之后
Campaign 运行的脚本或可执行文件。
以下描述了可用于 PostTempTableCreateRunScript 的标记。
|
|
|
|
|
此标记将替换为 IBM® EMM 用户名,该用户名与为其创建临时表的流程图关联。
|
|
|
|
|
|
|
|
|
|
|
以下描述了可用于 PostUserTableCreateRunScript 的标记。
使用 PrefixOnSelectSQL 属性指定在
Campaign 生成的所有
SELECT SQL 表达式前面自动添加的字符串。
此属性自动添加到 SELECT SQL 表达式,而不检查其语法。如果使用此属性,请确保其是合法表达式。
|
|
|
此标记将替换为 IBM® EMM 用户名,该用户名与为其创建临时表的流程图关联。
|
|
|
|
|
|
|
|
|
|
|
QueryThreadSleep 属性影响
Campaign 服务器进程 (
UNICA_ACSVR) 的 CPU 利用率。值为
TRUE 时,
Campaign 服务器进程用于检查查询完整性的线程在检查之间是否休眠。值为
FALSE 时,
Campaign 服务器进程将连续检查查询是否完成。
ReaderLogSize 参数定义在从数据库读取数据时,
Campaign 在日志文件中创建新条目的时间。每当从数据库读取的记录数达到此参数定义的数字的倍数时,都会在日志文件中写入日志条目。
将不再使用 ShareConnection 属性,应该仍然设置为其缺省值
FALSE。
|
|
|
此标记将替换为 IBM® EMM 用户名,该用户名与为其创建临时表的流程图关联。
|
|
|
|
|
|
|
|
|
|
|
StringEncoding 属性指定数据库的字符编码。当
Campaign 从数据库检索数据时,数据从指定的编码转码为
Campaign (
UTF-8) 的内部编码。同样,当
Campaign 将查询发送到数据库时,字符数据将从
Campaign 的内部编码转码为
StringEncoding 属性中指定的编码。
|
如果使用 partitions > partition[n] > dataSources > [data_source_name] > ODBCUnicode 属性,那么此属性将设置为 UTF-8 或 WIDEUTF-8,否则会忽略 ODBCUnicode 属性的设置。
|
对于 DB2® 或 SQL Server,您应该使用代码页而不是 iconv 编码。对于 Teradata,您应覆盖某些缺省行为。本部分描述如何通过这些数据库来为
StringEncoding 属性设置正确的值。
要通过 DB2® 数据库来为
StringEncoding 属性确定正确值,请查找对应于
Campaign 服务器的操作系统的区域设置的代码页。
要针对 DB2® 数据库来设置
StringEncoding 属性的值,请将以下命令添加到
Campaign 服务器启动脚本:
Teradata 支持按列字符编码,而 Campaign 仅支持按数据源编码。由于 Teradata ODBC 驱动程序中的缺陷,
UTF-8 无法与
Campaign 结合使用。Teradata 设置每次登录使用的缺省字符编码。您可以覆盖此行为,方法是在
Windows™ 上的 ODBC 数据源配置中使用参数,或者在
UNIX™ 平台上的
odbc.ini 中使用参数,如下所示:
Campaign 通常负责在其内部编码
UTF-8 与数据库的编码之间进行代码转换。当数据库采用
UTF-8 编码时,可以为
StringEncoding 指定值
UTF-8(SQLServer 除外),并且不需要进行代码转换。传统上,这些是
Campaign 访问数据库中的非英语数据的唯一可行模型。
在 Campaign 的 7.0 版本中,将引入一种新的数据库编码
WIDEUTF-8 作为
StringEncoding 属性的有效值。通过使用这种编码,
Campaign 仍然使用
UTF-8 与数据库客户机进行通信,但允许该客户机执行
UTF-8 与实际数据库的编码之间的代码转换任务。要更改表列映射的宽度以使这些列足以容纳经过代码转换的文本,就需要
UTF-8 的这种增强版本。
SuffixOnAllOtherSQL 属性指定要自动追加到
Campaign 生成的每个 SQL 表达式并且
SuffixOnInsert、SQLSuffixOnSelectSQL、SuffixOnTempTableCreation、 SuffixOnUserTableCreation 或
SuffixOnUserBaseTableCreation 属性未包含的字符串。
由 Campaign 生成时,
SuffixOnAllOtherSQL 用于下列表达式类型:
|
|
|
此标记将替换为 IBM® EMM 用户名,该用户名与为其创建临时表的流程图关联。
|
|
|
|
|
|
|
|
|
|
|
|
请参阅对 DateFormat 属性的描述中的表。
|
SuffixOnInsertSQL 属性指定将自动追加到
Campaign 生成的所有
INSERT SQL 表达式的字符串。此属性仅适用于 SQL 生成的
Campaign,并不适用于选择进程中使用的“原始 SQL”表达式中的 SQL。
由 Campaign 生成时,
SuffixOnInsertSQL 用于下列表达式类型:
|
|
|
此标记将替换为 IBM® EMM 用户名,该用户名与为其创建临时表的流程图关联。
|
|
|
|
|
|
|
|
|
|
|
SuffixOnSelectSQL 属性指定将自动追加到
Campaign 生成的所有
SELECT SQL 表达式的字符串。此属性仅适用于 SQL 生成的
Campaign,并不适用于选择进程中使用的“原始 SQL”表达式中的 SQL。
|
|
|
此标记将替换为 IBM® EMM 用户名,该用户名与为其创建临时表的流程图关联。
|
|
|
|
|
|
|
|
|
|
|
使用 SuffixOnTempTableCreation 属性来指定在创建临时表时将自动追加到
Campaign 生成的 SQL 表达式的字符串。此属性仅适用于 SQL 生成的
Campaign,并不适用于选择进程中使用的“原始 SQL”表达式中的 SQL。要使用此属性,
AllowTempTables 属性必须设置为
TRUE。
|
|
|
此标记将替换为 IBM® EMM 用户名,该用户名与为其创建临时表的流程图关联。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
下面描述了可用于 SuffixOnSegmentTableCreation 的标记。
|
|
|
此标记将替换为 IBM® EMM 用户名,该用户名与为其创建“细分市场”临时表的流程图关联。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
使用 SuffixOnSnapshotTableCreation 属性来指定在创建快照表时将自动追加到
Campaign 生成的 SQL 表达式的字符串。
下面描述了可用于 SuffixOnSnapshotTableCreation 的标记。
使用 SuffixOnExtractTableCreation 属性来指定在创建抽取表时将自动追加到
Campaign 生成的 SQL 表达式的字符串。
下面描述了可用于 SuffixOnExtractTableCreation 的标记。
使用 SuffixOnUserBaseTableCreation 属性可指定在用户创建基本表时(例如在抽取过程中),自动附加到
Campaign 生成的 SQL 表达式的字符串。此属性仅适用于 SQL 生成的
Campaign,并不适用于选择进程中使用的“原始 SQL”表达式中的 SQL。
下面描述了可用于 SuffixOnUserBaseTableCreation 的标记。
|
|
|
此标记将替换为 IBM® EMM 用户名,该用户名与为其创建临时表的流程图关联。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
使用 SuffixOnUserTableCreation 属性可指定在用户创建普通表时(例如在快照过程中),自动附加到
Campaign 生成的 SQL 表达式的字符串。此属性仅适用于 SQL 生成的
Campaign,并不适用于选择进程中使用的“原始 SQL”表达式中的 SQL。
|
|
|
此标记将替换为 IBM® EMM 用户名,该用户名与为其创建临时表的流程图关联。
|
|
|
|
|
|
|
|
|
|
|
除非 UA_SYSTEM_TABLES 数据源包含多个模式(例如,在多个组所使用的 Oracle 数据库上),否则请将此值留为空白。(在此上下文中,“模式”表示
X.Y 格式的“限定”表名(例如
dbo.UA_Folder)的初始部分。在此格式中,
X 是模式,而
Y 是非限定表名。此语法的该术语在
Campaign 支持的不同数据库系统间有所不同。)
使用 TempTablePostExecutionSQL 属性可指定在用户数据源或系统表数据库中创建临时表后,
Campaign 立即运行的完整 SQL 语句。为了能够在数据源中创建临时表,必须将
AllowTempTables 属性设置为
TRUE。
|
|
|
此标记将替换为 IBM® EMM 用户名,该用户名与为其创建临时表的流程图关联。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
使用 TableListSQL 属性来指定要用来将同义词包括在可以映射的表列表中的 SQL 查询。
SQLOnConnect 属性定义在每个数据库连接之后
Campaign 立即运行的完整 SQL 语句。
UOSQLOnConnect 属性与此类似,但是仅适用于
Contact Optimization。
|
|
|
此标记将替换为 IBM® EMM 用户名,该用户名与为其创建临时表的流程图关联。
|
|
|
|
|
|
|
|
|
|
|
此属性的缺省值为 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 同义词:
使用 UserTablePostExecutionSQL 属性可指定在用户表源或在系统表数据库中创建用户表之后
Campaign 立即运行的完整 SQL 语句。
当 UseTempTablePool 属性设置为
TRUE 时,不会从数据库中删除临时表。将从
Campaign 维护的表池中截断临时表并加以复用。 当设置为
FALSE 时,临时表将被删除,并在每次运行流程图时重新创建。
使用 SegmentTablePostExecutionSQL 属性指定在创建并填充细分市场临时表之后
Campaign 运行的完整 SQL 语句。
下面描述了可用于 SegmentTablePostExecutionSQL 的标记。
|
|
|
此标记将替换为 IBM® EMM 用户名,该用户名与为其创建“细分市场”临时表的流程图关联。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
使用 SnapshotTablePostExecutionSQL 属性来指定在创建并填充快照表后立即运行的一个或多个完整的 SQL 语句。
下面描述了可用于 SnapshotTablePostExecutionSQL 的标记。
TempTablePrefix 参数指定在
Campaign 创建的所有临时表的名称前面自动添加的字符串。使用此参数来帮助标识和管理临时表。还可以使用此属性让临时表在特定的位置创建。
|
|
|
此标记将替换为 IBM® EMM 用户名,该用户名与为其创建临时表的流程图关联。
|
|
|
|
|
|
|
|
|
|
|
使用 TempTablePreTruncateExecutionSQL 属性指定一个要在截断临时表之前运行的 SQL 查询。您指定的查询可用于消除
TempTablePostExecutionSQL 属性中指定的 SQL 语句的影响。
例如,使用 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”语法,如:
如果 UseExceptForMerge 已设置为
TRUE 并且无法使用“NOT IN”(因为禁用了
UseNotInForMerge,或者因为受众级别包括多个字段且数据源不是 Oracle),那么该语法将更改为以下内容:
UseNonANSIJoin 属性指定此数据源是否使用非 ANSI 连接语法。如果数据源类型设置为 Oracle7 或 Oracle8,并且
UseNonANSIJoin 的值设置为
TRUE,那么数据源使用适合于 Oracle 的非 ANSI 连接语法。
当 Campaign 在合并进程或分段进程中执行排除时,缺省情况下将使用“NOT EXISTS”语法,如:
如果启用 UseNotInForMerge(值设置为
YES)并且 (1) 受众级别仅包括单个标识字段或者 (2) 数据源是 Oracle,那么该语法将更改为以下内容:
UseSQLToProfile 属性使您可以配置
Campaign 以将 SQL 查询
GROUP BY 提交给数据库,从而计算概要文件(使用“
SELECT field, count(*) FROM table GROUP BY field”),而不必访存记录。
|
值 FALSE(缺省值)将导致 Campaign 对字段进行概要分析(通过检索表中所有记录的字段值)以及跟踪每个非重复值的计数。
|
|
值 TRUE 将导致 Campaign 通过发出类似以下的查询来对字段进行概要分析:
|
Copyright IBM Corporation 2012. All Rights Reserved.
|