Campaign | Partitions | partition[n] | dataSources
可选择 Campaign | Partitions | partition[n] | dataSources 以配置 IBM® Campaign 如何与数据库(其中包括它自己的系统表)交互。
这些属性指定 IBM® Campaign 可访问的数据库并且它们控制关于如何构成查询的许多方面。
您在 Campaign 中添加的每个数据源都由 partition[n] > dataSources > DATA_SOURCE_NAME 下的一种类别表示。
*
每个分区的 Campaign 系统表数据源必须在 Marketing Platform 中命名为 UA_SYSTEM_TABLES,并且 dataSources > UA_SYSTEM_TABLES 类别必须存在于每个 Campaign 分区的“配置”页面中。
AccessLibrary
描述
Campaign 根据数据源类型来选择其数据源访问库。例如,libora4d.so 用于 Oracle 连接,而 libdb24d.so 用于 DB2® 连接。在大多数情况下,缺省选择都正确。但如果缺省值在您的 Campaign 环境中被证明不正确,那么也可以更改 AccessLibrary 属性。例如,64 位 Campaign 提供两个 ODBC 访问库:一个适用于与 unixODBC 实现兼容的 ODBC 数据源 (libodb4d.so),而另一个适用于与 DataDirect 实现兼容的 ODBC 数据源(例如,libodb4dDD.so,由 Campaign 用来访问 Teradata)。
适用于 AIX® 的其他库
描述
对于支持 ODBC ANSI API 而不支持 ODBC Unicode API 的 AIX® ODBC 驱动程序管理器,Campaign 包含两个其他库:
*
*
如果您确定必须覆盖缺省访问库,请根据需要设置此参数(例如,设置为 libodb4dDD.so,从而覆盖缺省选择 libodb4d.so)。
缺省值
未定义缺省值。
AliasPrefix
描述
AliasPrefix 属性指定 Campaign 构成别名的方法,此别名是 Campaign 在使用维表和写入到新表时自动创建的。
注意,每个数据库都有一个最大标识长度;请检查所用数据库的文档以确保您设置的值未超过您的数据库的最大标识长度。
缺省值
A
AllowBaseJoinsInSelect
描述
此属性确定 Campaign 是否尝试执行选择流程中使用的基本表(来自同一个数据源)的 SQL 联接;如果不执行此联接,那么将在 Campaign 服务器上执行等价的联接。
缺省值
TRUE
有效值
TRUE | FALSE
AllowSegmentUsingSQLCase
描述
AllowSegmentUsingSQLCase 属性指定在满足特定配置条件时,Campaign 分段过程是否将多条 SQL 语句合并成一条 SQL 语句。
如果满足下列所有条件,那么将此属性设置为 TRUE 可以显著提高性能。
*
*
*
在这种情况下,Campaign 生成一条 SQL CASE 语句来执行细分,接着在 Campaign 应用程序服务器上执行按字段的细分市场处理。
缺省值
TRUE
有效值
TRUE | FALSE
AllowTempTables
描述
AllowTempTables 属性指定 Campaign 是否在数据库中创建临时表。创建临时表会显著提高营销活动的性能。值为 TRUE 时,将启用临时表。
如果启用临时表,那么每次对数据库发出查询时(例如,由细分市场流程发出),生成的标识将写入到数据库中的临时表。在发出其他查询时,Campaign 可以使用该临时表从数据库中检索行。
如果不启用临时表,那么 Campaign 将在服务器内存中保留选定的标识。其他查询从数据库中检索标识,并将这些标识与服务器内存中的标识进行匹配。
有关控制临时表连接的更多信息,请参阅 MaxTempTableJoinPctSelectAll 和 MaxTempTableJoinPctWithCondition。
您必须有适当特权才能在数据库中写入以使用临时表。特权由您在连接到数据库时提供的数据库登录确定。
缺省值
TRUE
ASMSaveDBAuthentication
描述
ASMSaveDBAuthentication 属性指定当您登录到 Campaign 并在先前未登录到的数据源中映射表时,Campaign 是否在 IBM® EMM 中保存您的用户名和密码。
如果将此属性设置为 TRUE,那么在您登录数据源时,Campaign 将不提示您输入用户名和密码。如果将此属性设置为 FALSE,那么在您每次登录数据源时,Campaign 都会提示您输入用户名和密码。
缺省值
TRUE
有效值
TRUE | FALSE
ASMUserForDBCredentials
描述
ASMUserForDBCredentials 属性指定分配给 Campaign 系统用户的 IBM® EMM 用户名(访问 Campaign 系统表时需要)。
缺省情况下,未定义此属性。
缺省值
未定义缺省值。
BulkInsertBlockSize
描述
BulkInsertBlockSize 属性定义数据块的最大大小,以 Campaign 一次传递给数据库的记录数为单位。
缺省值
100
BulkInsertRequiresColumnType
描述
仅在支持 Data Direct ODBC 数据源时需要 BulkInsertRequiresColumnType 属性。请在使用批量(数组)插入时为 Data Direct ODBC 数据源将此属性设置为 TRUE。将此属性设置为 FALSE 以与大多数其他 ODBC 驱动程序兼容。
缺省值
FALSE
BulkReaderBlockSize
描述
BulkReaderBlockSize 属性定义数据块的大小,以 Campaign 一次从数据库读取的记录数为单位。
缺省值
2500
ConditionalSQLCloseBracket
描述
ConditionalSQLCloseBracket 属性指定用于在原始 SQL 定制宏中表示条件细分市场结束的方括号类型。仅当临时表存在时,才使用括在指定的左方括号和右方括号类型中的条件细分市场。如果不存在临时表,那么会将它们忽略。
缺省值
}(右花括号)
ConditionalSQLOpenBracket
描述
ConditionalSQLOpenBracket 属性指定用于在原始 SQL 定制宏中表示条件细分市场开始的括号类型。仅当临时表存在时,才使用 ConditionalSQLOpenBracketConditionalSQLCloseBracket 属性指定的括号中的条件细分市场,如果没有临时表,那么将忽略这些细分市场。
缺省值
{(左花括号)
ConnectionCacheSize
描述
ConnectionCacheSize 属性指定 Campaign 在高速缓存中为每个数据源维护的连接数。
缺省情况下 (N=0),Campaign 为每个操作建立一个到数据源的新连接;如果 Campaign 维护连接的高速缓存并且连接可供复用,那么 Campaign 将使用高速缓存的连接而不必建立新连接。
如果此设置不为 0,那么在连接过程完成后,Campaign 将在 InactiveConnectionTimeout 属性指定的时间内使指定数目的连接处于打开状态。在此时间到期后,连接将从高速缓存中删除并关闭。
缺省值
0(零)
日期格式
描述
Campaign 使用 DateFormat 属性的值来确定当使用 Campaign 宏语言或解释日期列中的数据时,如何解析 date 格式的数据。
请将 DateFormat 属性的值设置为 Campaign 将用于从该数据源接收日期的格式。该值必须与数据库用来显示选定日期的格式匹配。对于大多数数据库,该设置与 DateOutputFormatString 属性的设置相同。
*
要确定数据库使用的日期格式,请按如下所述,从数据库中选择日期。
按数据库选择日期
DB2®
从运行 Campaign 服务器的机器连接到数据库。使用 Campaign\bin 目录中的 db2test 连接并发出以下命令:
从运行 Campaign 服务器的机器连接到数据库。使用 Campaign\bin 目录中的 odbctest 连接并发出以下命令:
SELECT current_date FROM ANY_TABLE limit 1;
其中 ANY_TABLE 是任何现有表的名称
从运行 Campaign 服务器的机器登录到数据库。使用 SQL *Plus 连接并发出以下命令:
从运行 Campaign 侦听器的机器连接到数据库。使用 Campaign\bin 目录中的 odbctest 连接并发出以下命令:
其他注意事项
请注意下列特定于数据库的指示信息。
Teradata
Teradata 允许您为每列定义日期格式。除了 dateFormatdateOutputFormatString 之外,还必须设置 SuffixOnCreateDateField。为了与我们的系统表设置一致,请使用:
*
SuffixOnCreateDateField = FORMAT 'YYYY-MM-DD'
*
DateFormat = DELIM_Y_M_D
*
SQL Server
如果在 ODBC 数据源配置中未选中在输出货币、数字、日期和时间时使用区域设置选项,那么将无法重置日期格式。通常,更容易使此设置保持取消选中状态,以便日期格式配置不会对每种语言有更改。
缺省值
DELIM_Y_M_D
有效值
DATE 宏中指定的任意格式
DateOutputFormatString
描述
DateOutputFormatString 属性指定要在 Campaign 将任何日期(如营销活动开始或结束日期)写入数据库时使用的日期数据类型的格式。请将 DateOutputFormatString 属性的值设置为数据源要为 date 类型的列使用的格式。对于大多数数据库,该设置与 [data_source_name] > DateFormat 属性的设置相同。
DateOutputFormatString 属性可设置为在 DATE_FORMAT 宏中对 format_str 指定的任何格式。DATE_FORMAT 宏接受两种不同种类的格式。一种是标识(例如 DELIM_M_D_YDDMMMYYYY,与 DATE 宏接受的相同),另一种是格式字符串。DateOutputFormatString 属性的值必须是格式字符串 - 不能是某个 DATE 宏标识。通常,请使用其中一种定界格式。
通过创建表并以所选格式插入日期,可以验证是否选择了正确的格式,如以下过程所述。
要验证 DateOutputFormatString
1.
请勿使用数据库附带的查询工具(例如 SQL Server 的查询分析器)来验证日期是否正在正确发送到数据库。这些查询工具可能会将日期格式转换为除 Campaign 实际发送给数据库的内容以外的内容。
2.
CREATE TABLE date_test (F1 DATE)
INSERT INTO date_test VALUES ('03/31/2004')
如果数据库允许 INSERT 命令成功完成,那么您已选择正确的格式。
缺省值
%Y/%m/%d
DateTimeFormat
描述
[data_source_name] > DateTimeFormat 属性的值指定 Campaign 将用于从数据库接收日期时间/时间戳数据的格式。该值必须与数据库用来显示选定日期时间/时间戳数据的格式相匹配。对于大多数数据库,该设置与 DateTimeOutputFormatString 的设置相同。
通常,在按用于“按数据库选择日期”的表中所述确定 DateFormat 值之后,您会通过在 DateFormat 值前面加 DT_ 来设置 DateTimeFormat
*
缺省值
DT_DELIM_Y_M_D
有效值
仅支持定界格式,如下所示:
*
*
*
*
*
*
*
DateTimeOutputFormatString
描述
DateTimeOutputFormatString 属性指定 Campaign 将任何日期时间(例如,营销活动开始或结束日期和时间)写入数据库时要使用的日期时间数据类型的格式。请将 DateTimeOutputFormatString 属性的值设置为数据源要求对 datetime 类型的列使用的格式。对于大多数数据库,该设置与 [data_source_name] > DateTimeFormat 属性的设置相同。
请参阅 DateOutputFormatString,了解用于验证您选择的格式是否正确的方法。
缺省值
%Y/%m/%d %H:%M:%S
DB2NotLoggedInitially
描述
DB2NotLoggedInitially 属性确定填充 DB2® 中的临时表时,Campaign 是否使用 not logged initially SQL 语法。设置为 TRUE 时,此属性会在向临时表执行插入操作时禁用日志记录,这样可以提高性能并减少数据库资源消耗。
如果 DB2® 的版本不支持 not logged initially 语法,请将此属性设置为 FALSE
缺省值
TRUE
有效值
TRUE | FALSE
DB2NotLoggedInitiallyUserTables
描述
DB2NotLoggedInitiallyUserTables 属性确定 Campaign 是否使用 not logged initially SQL 语法向 DB2® 用户表中插入。设置为 TRUE 时,此属性为向用户表的插入禁用日志记录,这样可以提高性能并减少数据库资源消耗。
*
设置为 TRUE 时,如果用户表事务由于某种原因而失败,那么该表将损坏,并且必须将其删除。该表中先前包含的所有数据将会丢失。
*
DB2NotLoggedInitiallyUserTables 属性不用于 Campaign 系统表。
缺省值
FALSE
有效值
TRUE | FALSE
DefaultScale
描述
在“快照”或“导出”流程中,当 Campaign 创建数据库字段以存储平面文件中的数字值时,将使用 DefaultScale 属性。
除非数据库字段省略关于精度和小数位的信息,否则此属性不会用于源于数据库表的数字值。(精度指示字段所允许的数字总位数。小数位指示小数点右边所允许的位数。例如,6.789 的精度为 4 且小数位为 3。从数据库表中获得的值包括关于精度和小数位的信息,Campaign 在创建字段时将使用此信息。)
平面文件不会指示精度和小数位。使用 DefaultScale 来指定要为创建的字段定义的小数点右边的位数。例如:
*
DefaultScale=0 将创建一个小数点右边没有任何位的字段(只能存储整数)。
*
DefaultScale=5 将创建一个小数点右边最多为 5 位的字段。
如果为 DefaultScale 设置的值超过字段的精度,那么将对这些字段使用 DefaultScale=0。例如,如果精度为 5,并且 DefaultScale=6,那么将使用值 0。
缺省值
0(零)
DefaultTextType
描述
DefaultTextType 属性计划用于 ODBC 数据源。如果源文本字段来自不同的数据源类型,那么此属性指示 Campaign 如何在目标数据源中创建文本字段。例如,源文本字段可能来自平面文件或来自不同类型的 DBMS。如果源文本字段来自相同类型的 DBMS,那么将忽略此属性,并使用来自源文本字段的数据类型在目标数据源中创建文本字段。
缺省值
VARCHAR
有效值
VARCHAR | NVARCHAR
DeleteAsRecreate
描述
DeleteAsRecreate 属性指定当输出过程配置为 REPLACE TABLE 并且不支持 TRUNCATE 时,Campaign 是删除并重新创建表,还是仅从表中删除。
值为 TRUE 时,Campaign 删除并重新创建表。
值为 FALSE 时,Campaign 从表中执行 DELETE FROM
缺省值
FALSE
有效值
TRUE | FALSE
DeleteAsTruncate
描述
DeleteAsTruncate 属性指定当输出过程配置为 REPLACE TABLE 时,Campaign 是使用 TRUNCATE TABLE 还是从表中删除。
值为 TRUE 时,Campaign 从表中运行 TRUNCATE TABLE
值为 FALSE 时,Campaign 从表中运行 DELETE FROM
缺省值取决于数据库类型。
缺省值
*
对于 Netezza®、Oracle 和 SQLServer,缺省值是 TRUE
*
有效值
TRUE | FALSE
DisallowTempTableDirectCreate
描述
DisallowTempTableDirectCreate 属性指定 Campaign 将数据添加到临时表所使用的方法。
设置为 FALSE 时,Campaign 将使用某个命令来执行直接“创建并填充”SQL 语法;例如,CREATE TABLE <table_name> AS ...(对于 Oracle 和 Netezza®)和 SELECT <field_names> INTO <table_name> ...(对于 SQL Server)。
设置为 TRUE 时,Campaign 创建临时表,然后使用单独的命令,直接从表到表对该临时表进行填充。
缺省值
FALSE
有效值
TRUE | FALSE
DSN
描述
将该属性设置为该 Campaign 数据源的 ODBC 配置中指定的数据源名称 (DSN)。缺省情况下未定义此值。
使用 Campaign 数据源配置属性,您可以指定引用同一物理数据源的多个逻辑数据源。例如,您可以为同一数据源创建两组数据源属性,在使用 AllowTempTables = TRUE 的情况下创建一组属性,并在使用 AllowTempTables = FALSE 的情况下创建另一组属性。这些数据源中的每一个在 Campaign 中都将具有一个不同的名称,但如果它们引用同一个物理数据源,那么它们将具有相同的 DSN 值。
缺省值
未定义缺省值。
DSNUsingOSAuthentication
描述
仅当 Campaign 数据源为 SQL Server 时,DSNUsingOSAuthentication 属性才适用。当 DSN 配置为使用 Windows 认证方式时,请将此值设置为 TRUE
缺省值
FALSE
有效值
TRUE | FALSE
EnableBaseDimSelfJoin
描述
EnableBaseDimSelfJoin 属性指定在基本表和维表映射到同一物理表并且维与基本表的标识字段上的基本表不相关的情况下,Campaign 数据库行为是否将执行自连接。
缺省情况下,此属性设置为 FALSE,并且当基本表和维表是同一数据库并且关系字段相同时(例如,AcctID 到 AcctID),Campaign 假定您不希望执行连接。
缺省值
FALSE
EnableSelectDistinct
描述
EnableSelectDistinct 属性指定 Campaign 的标识的内部列表是由 Campaign 服务器还是由数据库来进行重复数据删除。
值为 TRUE 时,数据库执行取消重复,针对数据库生成的 SQL 查询格式如下(如果适当):
SELECT DISTINCT key FROM table
值为 FALSE 时,Campaign 服务器将执行重复数据删除,并且针对数据库生成的 SQL 查询具有以下格式:
SELECT key FROM table
在以下情况下,请保留缺省值 FALSE
*
*
您希望 Campaign 应用程序服务器执行重复数据删除以降低数据库上的资源消耗/负载。
无论您为此属性指定的值如何,Campaign 都将自动确保根据需要对键进行重复数据删除。此属性只是控制取消重复在何处进行(在数据库上还是在 Campaign 服务器上)。
缺省值
TRUE
有效值
TRUE | FALSE
EnableSelectOrderBy
描述
EnableSelectOrderBy 属性指定 Campaign 的标识的内部列表是由 Campaign 服务器还是由数据库来进行排序。
值为 TRUE 时,数据库执行排序,针对数据库生成的 SQL 查询格式如下:
SELECT <key> FROM <table> ORDER BY <key>
值为 FALSE 时,Campaign 服务器将执行排序,并且针对数据库生成的 SQL 查询具有以下格式:
SELECT <key>FROM <table>
*
缺省值
TRUE
有效值
True | False
ExcludeFromTableDisplay
描述
ExcludeFromTableDisplay 参数允许您限制在 Campaign 中进行表映射期间显示的数据库表的数量。 此参数不会降低从数据库检索的表名称的数量。
不显示名称与指定的模式相匹配的表。
例如,如果将该参数的值设置为 sys.*,那么将不显示其名称以 sys. 开头的表。请注意,此参数的值区分大小写。
缺省值
UAC_*,当 ExtractTablePrefix 属性的值为缺省值时,此值将排除临时表和抽取表。
ExtractTablePostExecutionSQL
描述
使用 ExtractTablePostExecutionSQL 属性来指定在创建和填充抽取表后立即运行的一个或多个完整的 SQL 语句。
下面描述了可用于 ExtractTablePostExecutionSQL 的标记。
缺省值
未定义
有效值
有效 SQL 语句
ExtractTablePrefix
描述
ExtractTablePrefix 属性指定在 Campaign 中所有抽取表名称前面自动添加的字符串。
缺省值
UAC_EX
ForceNumeric
描述
ForceNumeric 属性指定 Campaign 是否检索数字值作为数据类型 double。值设置为 TRUE 时,Campaign 将作为数据类型 double 来检索所有数字值。
缺省值
FALSE
有效值
TRUE | FALSE
InactiveConnectionTimeout
描述
InactiveConnectionTimeout 属性指定不活动的 Campaign 数据库连接在关闭之前保持打开状态的秒数。将该值设置为 0 将禁用超时,使连接保持打开状态。
缺省值
120
InsertLogSize
描述
InsertLogSize 属性指定在 Campaign 快照过程正运行时,何时在日志文件中输入新条目。每当快照过程写入的记录数达到 InsertLogSize 属性中指定的数字的倍数时,都会写入日志条目。日志条目可以帮助您确定正运行的快照过程的进度。如果该值设置过低会导致创建的日志文件很大。
缺省值
100000(十万条记录)
有效值
正整数
JndiName
描述
仅当配置 Campaign 系统表时,才会使用 JndiName 属性(不适用于其他数据源,如客户表)。将其值设置为应用程序服务器(WebSphere® 或 WebLogic)中定义的 Java 命名和目录接口 (JNDI) 数据源。
缺省值
campaignPartition1DS
LoaderCommand
描述
LoaderCommand 属性指定用于调用 Campaign 中的数据库装入实用程序的命令。如果设置此参数,那么对于与“替换所有记录”设置一起使用的快照进程中所有输出文件,Campaign 会进入数据库装入实用程序方式。此参数还在 Campaign 将标识列表上载到临时表时调用数据库装入器实用程序方式。
此属性的有效值是启动数据库装入实用程序的数据库装入实用程序可执行文件或脚本的任何完整路径名。使用脚本允许您在调用装入实用程序之前执行其他设置。
大多数数据库装入实用程序需要多个参数才能成功启动。这些参数可以包括指定从中装入的数据文件和控制文件以及要装入到的数据库和表。Campaign 支持以下标记,当命令运行时,这些标记将替换为指定的元素。请咨询数据库装入实用程序文档以了解调用数据库装入实用程序时要使用的正确语法。
缺省情况下,未定义此参数。
下面描述了可用于 LoaderCommand 的标记。
可用于 LoaderCommand 的标记
此标记将替换为临时控制文件的完整路径和文件名,该文件是 Campaign 根据 LoaderControlFileTemplate 参数中指定的模板生成的。
此标记将替换为 Campaign 将数据装入到的数据源的名称。此名称与该数据源的类别名称中使用的数据源名称相同。
此标记将替换为 Campaign 在装入期间创建的临时数据文件的完整路径和文件名。此文件位于 Campaign 临时目录 UNICA_ACTMPDIR 中。
此标记将替换为 DSN 属性的值。如果未设置 DSN 属性,那么 <DSN> 标记将替换为此数据源的类别名称中使用的数据源名称(与用于替换 <DATABASE> 标记的值相同)。
此标记已过时,但仍支持此标记以兼容之前版本。请参阅 <TABLENAME>,从 V4.6.3 开始它已替换 <TABLE>。
此标记将替换为 Campaign 将数据装入到的数据库表名称。这是您的快照进程中的目标表或者 Campaign 正在创建的临时表的名称。
缺省值
未定义缺省值。
有效值
数据库装入实用程序可执行文件的任何完整路径名或用于启动数据库装入实用程序的脚本的任何完整路径名
LoaderCommandForAppend
描述
LoaderCommandForAppend 参数指定为调用数据库装入实用程序(以在 Campaign 中的数据库表中追加记录)而发出的命令。如果设置此参数,那么对于与“追加记录”设置一起使用的快照进程中所有输出文件,Campaign 会进入数据库装入实用程序方式。
此参数指定为数据库装入实用程序可执行文件的完整路径名或用于启动数据库装入实用程序的脚本的完整路径名。使用脚本允许您在调用装入实用程序之前执行其他设置。
大部分数据库装入实用程序需要若干参数才能成功启动。 这些参数可包括指定要从数据库装入使用程序中装入的数据文件和控制文件以及要装入到数据库装入实用程序的数据库和表。当命令运行时,标记将替换为指定元素。
请参考数据库装入实用程序文档,以了解调用数据库装入实用程序时要使用的正确语法。
缺省情况下未定义此参数。
以下描述了可用于 LoaderCommandForAppend 的标记。
此标记将替换为临时控制文件的完整路径和文件名,该文件是 Campaign 根据 LoaderControlFileTemplate 参数中指定的模板生成的。
此标记将替换为 Campaign 将数据装入到的数据源的名称。此名称与该数据源的类别名称中使用的数据源名称相同。
此标记将替换为 Campaign 在装入期间创建的临时数据文件的完整路径和文件名。此文件位于 Campaign 临时目录 UNICA_ACTMPDIR 中。
此标记将替换为 DSN 属性的值。如果未设置 DSN 属性,那么 <DSN> 标记将替换为此数据源的类别名称中使用的数据源名称(与用于替换 <DATABASE> 标记的值相同)。
此标记已过时,但仍支持此标记以兼容之前版本。请参阅 <TABLENAME>,从 V4.6.3 开始它已替换 <TABLE>。
此标记将替换为 Campaign 将数据装入到的数据库表名称。这是您的快照进程中的目标表或者 Campaign 正在创建的临时表的名称。
缺省值
未定义缺省值。
LoaderControlFileTemplate
描述
LoaderControlFileTemplate 属性指定 Campaign 中配置的控制文件模板的完整路径和文件名。设置此参数时,Campaign 根据您在此处指定的模板动态构建临时控制文件。此临时控制文件的路径和名称可用于 <CONTROLFILE> 标记,而此标记可用于 LoaderCommand 参数。
在数据库装入器实用程序中使用 Campaign 之前,必须配置此参数所指定的控制文件模板。控制文件模板支持以下标记,当 Campaign 创建临时控制文件时,将动态替换这些标记。
要了解控制文件所需的正确语法,请参阅数据库装入器实用程序文档。
缺省情况下未定义此参数。
可用于 LoaderControlFileTemplate 的标记与为 LoaderCommand 属性描述的标记相同,另外还有下列特殊标记,对于出站表中的每个字段,将重复一次这些特殊标记。
此标记将替换为文字“CHAR( )”。将此字段的长度指定在 () 之间。如果数据库无法识别字段类型 CHAR,那么您可以为该字段类型手动指定适当的文本,并使用 <FIELDLENGTH> 标记。例如,对于 SQLSVR 和 SQL2000,将使用“SQLCHAR(<FIELDLENGTH>)
缺省值
未定义缺省值。
LoaderControlFileTemplateForAppend
描述
LoaderControlFileTemplateForAppend 属性指定 Campaign 中配置的控制文件模板的完整路径和文件名。如果设置了此参数,Campaign 将根据此处指定的模板来动态构建临时控制文件。此临时控制文件的路径和名称可用于 <CONTROLFILE> 标记(此标记可用于 LoaderCommandForAppend 属性)。
在数据库装入器实用程序方式下使用 Campaign 之前,必须配置此参数指定的控制文件模板。控制文件模板支持以下标记,当 Campaign 创建临时控制文件时,将动态替换这些标记。
有关您的控制文件所要求的正确语法,请参阅您的数据库装入器实用程序文档。可用于您的控制文件模板的标记与可用于 LoaderControlFileTemplate 属性的标记相同。
缺省情况下,未定义此参数。
缺省值
未定义缺省值。
LoaderDelimiter
描述
LoaderDelimiter 属性指定临时数据文件是固定宽度还是定界平面文件,如果是定界,还将指定 Campaign 用作定界符的字符。
如果未定义值,那么 Campaign 会将临时数据文件创建为固定宽度平面文件。
如果指定了值,那么在调用装入器以填充某个已知为空的表时,将使用此值。Campaign 将作为定界平面文件来创建临时数据文件,并使用此属性的值作为定界符。
缺省情况下,未定义此属性。
缺省值
未定义缺省值。
有效值
可以括在双引号中的字符(如果需要)。
LoaderDelimiterAtEnd
描述
一些外部装入实用程序需要数据文件是定界的,每行以定界符结尾。为了适应这种需求,请将 LoaderDelimiterAtEnd 值设置为 TRUE,以便在调用装入器来填充已知为空的表时,Campaign 在每一行的结尾使用定界符。
FALSE
缺省值
FALSE
有效值
TRUE | FALSE
LoaderDelimiterAtEndForAppend
描述
一些外部装入实用程序需要数据文件是定界的,每行以定界符结尾。为了适应这种需求,请将 LoaderDelimiterAtEndForAppend 值设置为 TRUE,以便在调用装入器来填充并非已知为空的表时,Campaign 在每一行的结尾使用定界符。
缺省值
FALSE
有效值
TRUE | FALSE
LoaderDelimiterForAppend
描述
LoaderDelimiterForAppend 属性指定临时 Campaign 数据文件是固定宽度还是定界平面文件,如果是定界,还将指定用作定界符的字符或字符集。
如果未定义值,那么 Campaign 会将临时数据文件创建为固定宽度平面文件。
如果指定了值,那么在调用装入器以填充某个并非已知为空的表时,将使用此值。Campaign 将作为定界平面文件来创建临时数据文件,并使用此属性的值作为定界符。
缺省情况下,未定义此属性。
缺省值
未定义缺省值。
有效值
您可能括在双引号中的字符(如果需要)。
LoaderUseLocaleDP
描述
LoaderUseLocaleDP 属性指定,当 Campaign 将数字值写入到要由数据库装入实用程序装入的文件时,特定于语言环境的符号是否用于小数点。
将此值设置为 FALSE 可指定句点 (.) 将用作小数点。
将该值设置为 TRUE 可指定使用适合语言环境的小数点符号。
缺省值
FALSE
有效值
TRUE | FALSE
MaxItemsInList
描述
允许您指定允许 Campaign 在 SQL 中的单个列表中包含的项(例如,WHERE 子句中 IN 运算符后面的值列表)的最大数量。
缺省值
1000(仅限 Oracle),对于所有其他数据库为 0(无限制)
有效值
整数
MaxQueryThreads
描述
MaxQueryThreads 属性指定允许从单个 Campaign 流程图针对每个数据库源同时运行的查询数上限。
Campaign 使用独立线程运行数据库查询。由于 Campaign 进程并行运行,因此通常针对单个数据源同时运行多个查询。如果并行运行的查询数超过此属性指定的值,那么 Campaign 服务器会自动将同时运行的查询数限制至该值。
最大值无限制。请注意,当 maxReuseThreads 属性设置为非零值时,它应大于或等于 MaxQueryThreads 的值。
缺省值
根据数据库而有所不同
MaxRowFetchRecords
描述
所选标识数量小于 MaxRowFetchRecords 属性指定的值时,Campaign 会在单独 SQL 查询中将标识传递到数据库,每次传递一个。此过程可能非常耗时。如果所选标识数量大于此参数指定的值,那么 Campaign 将使用临时表(如果数据库源允许),或者从表中下拉所有值(不包括任何必要的值)。
由于性能方面的原因,最好是将此数字保持较小值。
缺省值
100
MaxTempTableJoinPctSelectAll
描述
发出查询时,Campaign 在包含标识精确列表的数据库上创建临时表,作为查询结果。当针对数据库发出选择所有记录的其他查询时,MaxTempTableJoinPctSelectAll 属性指定是否执行与临时表的连接操作。
如果临时表的相对大小(以百分比指定)大于 MaxTempTableJoinPctSelectAll 属性的值,那么不执行联接操作。首先选择所有记录,然后废弃不要的记录。
如果临时表的相对大小(以百分比指定)小于或等于 MaxTempTableJoinPctSelectAll 属性的值,那么首先建立与临时表的联接,然后将生成的标识检索到服务器。
仅当 AllowTempTables 属性的值设置为 TRUE 时,此属性才适用。如果 useInDbOptimization 属性设置为 YES,那么将忽略此属性。
缺省值
90
有效值
0 到 100 之间的整数。值为 0 意味着从不使用临时表连接;值为 100 意味着将始终使用表连接,无论临时表的大小如何。
示例
假定 MaxTempTableJoinPctSelectAll 设置为 90。首先,您可能要从数据库表 (Customer) 中选择帐户余额 (Accnt_balance) 大于 1,000 美元的客户 (CustID)。
选择过程生成的相应 SQL 表达式可能如下所示:
SELECT CustID FROM Customer
WHERE Accnt_balance > 1000
选择过程可能从表的总共 1,000,000 个标识中检索 100,000 个标识,比例为 10%。如果允许临时表,那么 Campaign 会将所选标识 (TempID) 写入到数据库中的临时表 (Temp_table)。
然后,您可能希望抓取所选标识 (CustID) 以及实际余额 (Accnt_balance) 的快照。由于临时表 (Temp_table) 的相对大小小于 90% (MaxTempTableJoinPctSelectAll),将首先执行与临时表的连接。快照过程生成的 SQL 表达式可能如下所示:
SELECT CustID, Accnt_balance FROM Customer, Temp_table WHERE CustID = TempID
如果选择过程的检索量超过 90%,那么后续的快照过程将检索所有记录,并将这些记录与第一组标识进行匹配,废弃不需要的记录。
快照过程生成的 SQL 表达式可能如下所示:
SELECT CustID, Accnt_balance FROM Customer
MaxTempTableJoinPctWithCondition
描述
发出查询时,Campaign 在包含标识精确列表的数据库上创建临时表,作为查询结果。当针对数据库发出按照限制条件选择记录的其他查询时,MaxTempTableJoinPctWithCondition 属性指定是否应执行与临时表的连接操作。
如果临时表的相对大小(以百分比指定)大于 MaxTempTableJoinPctWithCondition 的值,那么不执行连接操作。这样可以避免数据库中可能不需要的开销。在这种情况下,针对数据库发出查询,检索生成的标识列表,然后在不需要的记录与服务器内存中的列表进行匹配时废弃这些记录。
如果临时表的相对大小(以百分比指定)小于或等于 MaxTempTableJoinPctWithCondition 的值,那么首先执行与临时表的连接,然后将生成的标识检索到服务器。
仅当 AllowTempTables 属性的值设置为 TRUE 时,此属性才适用。
缺省值
20
有效值
0 到 100 之间的整数。值为 0 意味着从不使用临时表连接;值为 100 意味着将始终使用表连接,无论临时表的大小如何。
MinReqForLoaderCommand
描述
使用此属性来设置使用批量装入程序的阈值。当输入单元中的唯一标识数目超过此处定义的值时,Campaign 将调用分配给 LoaderCommand 参数的脚本。此属性的值不代表将写入的记录数。
如果未配置此属性,Campaign 会假设该值为缺省值(零)。如果配置了此属性,但将值设置为负值或非整数值,那么 Campaign 会假设该值为零。
缺省值
0(零)
有效值
整数
MinReqForLoaderCommandForAppend
描述
使用此属性来设置使用批量装入程序的阈值。当输入单元中唯一标识的数量超过此处定义的值时,Campaign 将调用分配给 LoaderCommandForAppend 参数的脚本。此属性的值不代表将写入的记录数。
如果未配置此属性,Campaign 会假设该值为缺省值(零)。如果配置了此属性,但将值设置为负值或非整数值,那么 Campaign 会假设该值为零。
缺省值
0(零)
有效值
正整数
NumberOfRetries
描述
NumberOfRetries 属性指定 Campaign 在故障时自动重试数据库操作的次数。在 Campaign 报告数据库错误或失败之前,将按照这一次数来自动向数据库重新提交查询。
缺省值
0(零)
ODBCTableTypes
描述
缺省情况下此属性为空,这适合所有当前受支持的数据源。
缺省值
未定义
有效值
(空)
ODBCUnicode
描述
ODBCUnicode 属性指定 Campaign ODBC 调用中使用的编码类型。此属性仅用于 ODBC 数据源,在用于 Oracle 或 DB2® 本机连接时,将忽略此属性。
*
如果此属性设置为 UTF-8UCS-2,那么数据源的 StringEncoding 值必须设置为 UTF-8WIDEUTF-8,否则会忽略 ODBCUnicode 属性的设置。
缺省值
disabled
有效值
此属性的可能值包括:
*
Disabled - Campaign 使用 ANSI ODBC 调用。
*
UTF-8 - Campaign 使用 Unicode ODBC 调用并假定 SQLWCHAR 为单字节。这与 DataDirect ODBC 驱动程序兼容。
*
UCS-2 - Campaign 使用 Unicode ODBC 并假定 SQLWCHAR 为双字节。这与 Windows 和 unixODBC ODBC 驱动程序兼容。
ODBCv2
描述
使用 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 以外的值均不会被识别。
缺省值
FALSE
有效值
TRUE | FALSE
OwnerForTableDisplay
描述
OwnerForTableDisplay 属性允许您将 Campaign 中的表映射显示限制为指定用户拥有的表,或限制为指定用户拥有的一组或多组表。
要显示由一个或多个用户拥有的表,请使用逗号分隔列表来指定数据库用户标识。例如:
<property name="OwnerForTableDisplay">user1,user2,user3</property>
除了用户名之外,如果还要指定表名称模式,请将该模式附加到用户标识。例如,以下设置将显示的表限制为以 ABC 开头的表(对于 user1)和以 XYZ 开头的表(对于 user2):
OwnerForTableDisplay=user1.ABC%,user2.XYZ%
缺省值
未定义缺省值。
PadTextWithSpaces
描述
设置为 TRUE 时,PadTextWithSpaces 属性会让 Campaign 使用空格填充文本值,直至字符串的宽度与数据库字段的宽度相同。
缺省值
FALSE
有效值
TRUE | FALSE
PostExtractTableCreateRunScript
描述
使用 PostExtractTableCreateRunScript 属性可指定在创建和填充抽取表后,Campaign 要运行的脚本或可执行文件。
下面描述了可用于 PostExtractTableCreateRunScript 的标记。
缺省值
未定义
有效值
shell 脚本或可执行文件的文件名
PostSegmentTableCreateRunScript
描述
指定在创建和填充“细分市场”临时表后,Campaign 运行的脚本或可执行文件。
下面描述了可用于 PostSegmentTableCreateRunScript 的标记。
此标记将替换为 IBM® EMM 用户名,该用户名与为其创建“细分市场”临时表的流程图关联。
缺省值
未定义
有效值
脚本或可执行文件的文件名
PostSnapshotTableCreateRunScript
描述
使用 PostSnapshotTableCreateRunScript 属性指定在创建并填充快照表之后 Campaign 运行的脚本或可执行文件。
下面描述了可用于 PostSnapshotTableCreateRunScript 的标记。
缺省值
未定义
有效值
shell 脚本或可执行文件的文件名
PostTempTableCreateRunScript
描述
使用 PostTempTableCreateRunScript 属性指定在用户表源或系统表数据库中创建并填充临时表之后 Campaign 运行的脚本或可执行文件。
以下描述了可用于 PostTempTableCreateRunScript 的标记。
此标记将替换为 IBM® EMM 用户名,该用户名与为其创建临时表的流程图关联。
缺省值
未定义缺省值。
PostUserTableCreateRunScript
描述
指定在创建了用户表之后 Campaign 运行的脚本或可执行文件。
以下描述了可用于 PostUserTableCreateRunScript 的标记。
缺省值
未定义
有效值
脚本或可执行文件的文件名
PrefixOnSelectSQL
描述
使用 PrefixOnSelectSQL 属性指定在 Campaign 生成的所有 SELECT SQL 表达式前面自动添加的字符串。
此属性仅适用于 SQL 生成的 Campaign,并不适用于选择进程中使用的“原始 SQL”表达式中的 SQL。
此属性自动添加到 SELECT SQL 表达式,而不检查其语法。如果使用此属性,请确保其是合法表达式。
缺省情况下,未定义此属性。
下面描述了可用于 PrefixOnSelectSQL 的标记。
此标记将替换为 IBM® EMM 用户名,该用户名与为其创建临时表的流程图关联。
缺省值
未定义缺省值。
QueryThreadSleep
描述
QueryThreadSleep 属性影响 Campaign 服务器进程 (UNICA_ACSVR) 的 CPU 利用率。值为 TRUE 时,Campaign 服务器进程用于检查查询完整性的线程在检查之间是否休眠。值为 FALSE 时,Campaign 服务器进程将连续检查查询是否完成。
缺省值
TRUE
ReaderLogSize
描述
ReaderLogSize 参数定义在从数据库读取数据时,Campaign 在日志文件中创建新条目的时间。每当从数据库读取的记录数达到此参数定义的数字的倍数时,都会在日志文件中写入日志条目。
此参数可帮助您确定某一进程在其运行方面的最新进度。此值设置太低可能会创建大型日志文件。
缺省值
1000000(一百万条记录)
有效值
整数
SegmentTempTablePrefix
描述
为 CreateSeg 过程在此数据源中创建的细分市场表设置前缀。
缺省值
UACS
ShareConnection
描述
将不再使用 ShareConnection 属性,应该仍然设置为其缺省值 FALSE
缺省值
FALSE
有效值
FALSE
SQLOnConnect
描述
SQLOnConnect 属性定义在每个数据库连接之后 Campaign 立即运行的完整 SQL 语句。
此属性生成的 SQL 语句自动传递到您的数据库,而不检查其语法。如果使用此属性,请确保它是合法表达式。可以将此字符串引在引号中,但并不是必须这样做。
缺省情况下,未定义此属性。
下面描述了可用于 SQLOnConnect 的标记。
此标记将替换为 IBM® EMM 用户名,该用户名与为其创建临时表的流程图关联。
缺省值
未定义缺省值。
StringEncoding
描述
StringEncoding 属性指定数据库的字符编码。当 Campaign 从数据库检索数据时,数据从指定的编码转码为 Campaign (UTF-8) 的内部编码。在 Campaign 向数据库发送查询时,字符数据将从 Campaign 的内部编码 (UTF-8) 转码为 StringEncoding 属性中指定的编码。
此属性的值必须与数据库客户机上使用的编码相匹配。
尽管缺省情况下未定义此值,但是请不要将此值留为空白。
如果您使用 ASCII 数据,请此值设置为 UTF-8
如果数据库客户机编码为 UTF-8,那么此值的首选设置为 WIDEUTF-8。仅当数据库客户机设置为 UTF-8 时,WIDE-UTF-8 设置才起作用。
如果使用 partitions > partition[n] > dataSources > data_source_name > ODBCUnicode 属性,请将 StringEncoding 属性设置为 UTF-8WIDEUTF-8。否则,会忽略 ODBCUnicode 属性值。
要获取受支持的编码的列表,请参阅《Campaign 管理员指南》中的 Campaign 中的字符编码
*
缺省值
未定义缺省值。
特定于数据库的注意事项
本部分描述如何为 DB2®、SQL Server 或 Teradata 数据库设置正确值。
DB2®
确定 DB2® 数据库代码页和代码集。对于本地化环境,DB2® 数据库必须具有以下配置:
*
*
Campaign 中的 StringEncoding 属性值设置为 DB2® 数据库代码集值。
DB2CODEPAGE DB2® 环境变量设置为 DB2® 数据库代码页值:
*
Windows 上:将以下行添加到 Campaign 侦听器启动脚本 (<CAMPAIGN_HOME>\bin\cmpServer.bat):
db2set DB2CODEPAGE=1208
*
UNIX 上:当启动 DB2® 之后,系统管理员必须从 DB2® 实例用户输入以下命令:
$ db2set DB2CODEPAGE=1208
然后,通过运行以下命令来启动 Campaign 侦听器:
./rc.unica_ac start
此设置影响所有 DB2® 数据源,并且可能会影响其他正在运行的程序。
SQL Server
对于 SQL Server,请使用代码页而不是 iconv 编码。要为 SQL Server 数据库的 StringEncoding 属性确定正确值,请查找对应于服务器操作系统的区域设置的代码页。
例如,要使用代码页 932(日语 Shift-JIS):
StringEncoding=CP932
Teradata
对于 Teradata,必须覆盖某些缺省行为。Teradata 支持按列字符编码,而 Campaign 仅支持按数据源编码。由于 Teradata ODBC 驱动程序中的缺陷,UTF-8 无法与 Campaign 结合使用。Teradata 设置每次登录使用的缺省字符编码。您可以覆盖此行为,方法是在 Windows 上的 ODBC 数据源配置中使用参数,或者在 UNIX 平台上的 odbc.ini 中使用参数,如下所示:
CharacterSet=UTF8
Teradata 表的缺省编码为 LATIN。Teradata 的内置编码极少,但它支持用户定义的编码。
StringEncoding 属性的缺省值为 ASCII
*
对于很多涉及到 UTF-8 数据库的情况,您应使用 WIDEUTF-8 伪编码,如 WIDEUTF-8 一节中所述。
WIDEUTF-8
Campaign 通常负责在其内部编码 UTF-8 与数据库的编码之间进行代码转换。当数据库采用 UTF-8 编码时,可以为 StringEncoding 指定值 UTF-8(SQLServer 除外),并且不需要进行代码转换。传统上,这些是 Campaign 访问数据库中的非英语数据的唯一可行模型。
Campaign 的 7.0 版本中,引入了称为 WIDEUTF-8 的新数据库编码作为 StringEncoding 属性的值。通过使用这种编码,Campaign 仍然使用 UTF-8 与数据库客户机进行通信,但允许该客户机执行 UTF-8 与实际数据库的编码之间的代码转换任务。要更改表列映射的宽度以使这些列足以容纳经过代码转换的文本,就需要 UTF-8 的这种增强版本。
*
*
SuffixOnAllOtherSQL
描述
SuffixOnAllOtherSQL 属性指定要自动追加到 Campaign 生成的每个 SQL 表达式并且 SuffixOnInsert、SQLSuffixOnSelectSQL、SuffixOnTempTableCreation、 SuffixOnUserTableCreationSuffixOnUserBaseTableCreation 属性未包含的字符串。
此属性仅适用于 SQL 生成的 Campaign,并不适用于选择进程中使用的“原始 SQL”表达式中的 SQL。
Campaign 生成时,SuffixOnAllOtherSQL 用于下列表达式类型:
TRUNCATE TABLE table
DROP TABLE table
DELETE FROM table [WHERE ...]
UPDATE table SET ...
此属性将自动添加到 SQL 表达式,而不检查其语法。如果使用此参数,请确保其是合法表达式。该字符串可括在引号中,但这不是必要的。
缺省情况下,未定义此属性。
以下描述了可用于 SuffixOnAllOtherSQL 的标记。
此标记将替换为 IBM® EMM 用户名,该用户名与为其创建临时表的流程图关联。
缺省值
未定义缺省值。
SuffixOnCreateDateField
描述
SuffixOnCreateDateField 属性指定 Campaign 自动追加到 CREATE TABLE SQL 语句中的任何 DATE 字段的字符串。
例如,您可以按如下所示设置此属性:
SuffixOnCreateDateField = FORMAT 'YYYY-MM-DD’
如果未定义此属性(缺省情况),那么 CREATE TABLE 命令将不变。
*
请参阅对 DateFormat 属性的描述中的表。
缺省值
未定义缺省值。
SuffixOnInsertSQL
描述
SuffixOnInsertSQL 属性指定将自动追加到 Campaign 生成的所有 INSERT SQL 表达式的字符串。此属性仅适用于 SQL 生成的 Campaign,并不适用于选择进程中使用的“原始 SQL”表达式中的 SQL。
Campaign 生成时,SuffixOnInsertSQL 用于下列表达式类型:
INSERT INTO table ...
此属性自动添加到 SQL 表达式,而不检查其语法。如果使用此属性,请确保它是合法表达式。可以将此字符串引在引号中,但并不是必须这样做。
缺省情况下,未定义此属性。
下面描述了可用于 SuffixOnInsertSQL 的标记。
此标记将替换为 IBM® EMM 用户名,该用户名与为其创建临时表的流程图关联。
缺省值
未定义缺省值。
SuffixOnSelectSQL
描述
SuffixOnSelectSQL 属性指定将自动追加到 Campaign 生成的所有 SELECT SQL 表达式的字符串。此属性仅适用于 SQL 生成的 Campaign,并不适用于选择进程中使用的“原始 SQL”表达式中的 SQL。
此属性将自动添加到 SQL 表达式,而不检查其语法。如果使用此属性,请确保它是合法表达式。可以将此字符串引在引号中,但并不是必须这样做。
缺省情况下,未定义此属性。
下面描述了可用于 SuffixOnSelectSQL 的标记。
此标记将替换为 IBM® EMM 用户名,该用户名与为其创建临时表的流程图关联。
缺省值
未定义缺省值。
SuffixOnTempTableCreation
描述
使用 SuffixOnTempTableCreation 属性来指定在创建临时表时将自动追加到 Campaign 生成的 SQL 表达式的字符串。此属性仅适用于 SQL 生成的 Campaign,并不适用于选择进程中使用的“原始 SQL”表达式中的 SQL。要使用此属性,AllowTempTables 属性必须设置为 TRUE
您可能希望使用标记来替换此 SQL 语句中的表名称和列名称(<TABLENAME><KEYCOLUMNS>),因为这些标记是在营销活动执行期间动态生成的。
此属性自动添加到 SQL 表达式,而不检查其语法。如果使用此属性,请确保其是合法表达式。可以将此字符串引在引号中,但并不是必须这样做。
缺省情况下,未定义此属性。
*
以下描述了可用于 SuffixOnTempTableCreation 的标记。
此标记将替换为 IBM® EMM 用户名,该用户名与为其创建临时表的流程图关联。
缺省值
未定义缺省值。
SuffixOnSegmentTableCreation
描述
指定创建“细分市场”临时表时,自动附加到 Campaign 生成的 SQL 表达式的字符串。
下面描述了可用于 SuffixOnSegmentTableCreation 的标记。
此标记将替换为 IBM® EMM 用户名,该用户名与为其创建“细分市场”临时表的流程图关联。
缺省值
未定义
有效值
有效 SQL
SuffixOnSnapshotTableCreation
描述
使用 SuffixOnSnapshotTableCreation 属性来指定在创建快照表时将自动追加到 Campaign 生成的 SQL 表达式的字符串。
下面描述了可用于 SuffixOnSnapshotTableCreation 的标记。
缺省值
未定义
有效值
有效 SQL
SuffixOnExtractTableCreation
描述
使用 SuffixOnExtractTableCreation 属性来指定在创建抽取表时将自动追加到 Campaign 生成的 SQL 表达式的字符串。
下面描述了可用于 SuffixOnExtractTableCreation 的标记。
缺省值
未定义
有效值
有效 SQL
SuffixOnUserBaseTableCreation
描述
使用 SuffixOnUserBaseTableCreation 属性可指定在用户创建基本表时(例如在抽取过程中),自动附加到 Campaign 生成的 SQL 表达式的字符串。此属性仅适用于 SQL 生成的 Campaign,并不适用于选择进程中使用的“原始 SQL”表达式中的 SQL。
您可能希望使用标记来替换此 SQL 语句中的表名称和列名称(<TABLENAME><KEYCOLUMNS>),因为这些标记是在营销活动执行期间动态生成的。
此属性自动添加到 SQL 表达式,而不检查其语法。如果使用此属性,请确保其是合法表达式。可以将此字符串引在引号中,但并不是必须这样做。
缺省情况下,未定义此属性。
下面描述了可用于 SuffixOnUserBaseTableCreation 的标记。
此标记将替换为 IBM® EMM 用户名,该用户名与为其创建临时表的流程图关联。
缺省值
未定义缺省值。
SuffixOnUserTableCreation
描述
使用 SuffixOnUserTableCreation 属性可指定在用户创建普通表时(例如在快照过程中),自动附加到 Campaign 生成的 SQL 表达式的字符串。此属性仅适用于 SQL 生成的 Campaign,并不适用于选择进程中使用的“原始 SQL”表达式中的 SQL。
此属性将自动添加到 SQL 表达式,而不检查其语法。如果使用此属性,请确保它是合法表达式。可以将此字符串引在引号中,但并不是必须这样做。
缺省情况下,未定义此属性。
下面描述了可用于 SuffixOnUserTableCreation 的标记。
此标记将替换为 IBM® EMM 用户名,该用户名与为其创建临时表的流程图关联。
缺省值
未定义缺省值。
SystemTableSchema
描述
指定用于 Campaign 系统表的模式。
缺省值为空白。此参数仅与 UA_SYSTEM_TABLES 数据源相关。
除非 UA_SYSTEM_TABLES 数据源包含多个模式(例如,在多个组所使用的 Oracle 数据库上),否则请将此值留为空白。(在此上下文中,“模式”表示 X.Y 格式的“限定”表名(例如 dbo.UA_Folder)的初始部分。在此格式中,X 是模式,而 Y 是非限定表名。此语法的该术语在 Campaign 支持的不同数据库系统间有所不同。)
如果系统表数据库中存在多个模式,请将此值设置为创建 Campaign 系统表的模式的名称。
缺省值
未定义缺省值。
TempTablePostExecutionSQL
描述
使用 TempTablePostExecutionSQL 属性可指定在用户数据源或系统表数据库中创建临时表后,Campaign 立即运行的完整 SQL 语句。为了能够在数据源中创建临时表,必须将 AllowTempTables 属性设置为 TRUE
您可能希望使用标记来替换此 SQL 语句中的表名称和列名称(<TABLENAME><KEYCOLUMNS>),因为这些标记是在营销活动执行期间动态生成的。
此属性自动添加到 SQL 表达式,而不检查其语法。如果使用此属性,请确保其是合法表达式。可以将此字符串引在引号中,但并不是必须这样做。
TempTablePostExecutionSQL 属性将分号视为定界符来运行多个 SQL 语句。如果 SQL 语句包含分号,而您希望将其作为一个语句来运行,请在分号前使用反斜杠作为转义字符。
*
下面描述了可用于 TempTablePostExecutionSQL 的标记。
此标记将替换为 IBM® EMM 用户名,该用户名与为其创建临时表的流程图关联。
缺省值
未定义缺省值。
TableListSQL
描述
使用 TableListSQL 属性来指定要用来将同义词包括在可以映射的表列表中的 SQL 查询。
缺省值为空白。如果数据源是 SQL Server 并且您希望能够映射所返回的表模式中的同义词,那么需要此属性。如果要使用特定 SQL 查询,并使用其他数据源来代替或补充使用标准方法(例如,ODBC 调用或本机连接)检索到的表模式信息,那么此属性是可选的。
要确保 Campaign 使用 SQL Server 同义词,除了按此处所述设置此属性之外,还必须将 UseSQLToRetrieveSchema 属性设置为 TRUE。
如果使用某个有效的 SQL 查询来设置此属性,那么 Campaign 将发出此 SQL 查询来检索要映射的表的列表。如果查询返回一列,那么会将此列视为名称的列;如果查询返回两列,那么假定第一列为所有者名称的列,并将第二列视为表名称的列。
如果 SQL 查询未以星号 (*) 开头,那么 Campaign 会将此列表与使用标准方法(例如,通过 ODBC 调用或本机连接)检索到的表列表进行合并。
如果 SQL 查询以星号 (*) 开头,那么该 SQL 返回的列表将替换常规列表,而不是与其合并。
缺省值
有效值
有效 SQL 查询
示例
如果数据源是 SQL Server,那么在正常情况下,Campaign 使用的 ODBC API 调用将返回表和视图的列表,但不会返回同义词。要包括同义词列表,请将 TableListSQL 设置为类似于以下示例:
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
要在完全不使用 ODBC API 的情况下检索表、视图和同义词的列表,请将 TableListSQL 设置为类似于以下示例:
*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
如果数据源是 Oracle,那么您可以使用类似于以下示例的查询来检索表、视图和同义词的列表,以代替使用在 ALL_OBJECTS 视图中进行查找的本机连接方法检索到的数据:
*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
UOSQLOnConnect
描述
SQLOnConnect 属性定义在每个数据库连接之后 Campaign 立即运行的完整 SQL 语句。UOSQLOnConnect 属性与此类似,但是仅适用于 Contact Optimization
此属性生成的 SQL 语句自动传递到您的数据库,而不检查其语法。如果使用此属性,请确保它是合法表达式。此字符串可以引在引号中,但不要求这样做。
缺省情况下,未定义此属性。
下面描述了可用于 UOSQLOnConnect 的标记。
此标记将替换为 IBM® EMM 用户名,该用户名与为其创建临时表的流程图关联。
缺省值
未定义缺省值。
UseSQLToRetrieveSchema
描述
使用 SQL 查询(而不是 ODBC 或本机 API 调用)来检索要用作此数据源的表模式的模式。
此属性的缺省值为 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® 数据源中支持同义词,不需要其他设置或值。
*
对于 SQL Server,要允许支持同义词,必须将此属性设置为 TRUE 并且在此数据源的 TableListSQL 属性中输入有效的 SQL。有关更多详细信息,请参阅 TableListSQL 属性的描述。
*
对于 Oracle 数据源,将此属性设置为 TRUE 可命令 Campaign 准备一个 SQL 查询以检索表模式。结果集将 NUMBER 字段(未指定精度/小数位,这可能导致 Campaign 中出现问题)标识为 NUMBER(38),这可避免这些可能的问题。
*
对于其他数据源,可以选择将此属性设置为 TRUE 以使用上面所描述的缺省 SQL 选择查询,或者在 TableListSQL 属性中指定要使用的有效 SQL 以代替或补充缺省情况下使用的 ODBC API 或本机连接。有关更多详细信息,请参阅 TableListSQL 属性的描述。
缺省值
FALSE
有效值
TRUE | FALSE
示例
要使 Campaign 能够处理 Netezza® 或 SQL Server 同义词:
UseSQLToRetrieveSchema=TRUE
UserTablePostExecutionSQL
描述
使用 UserTablePostExecutionSQL 属性可指定在用户表源或在系统表数据库中创建用户表之后 Campaign 立即运行的完整 SQL 语句。
您可能希望使用标记来替换此 SQL 语句中的表名称和列名称(<TABLENAME><KEYCOLUMNS>),因为这些标记是在营销活动执行期间动态生成的。
此属性自动添加到 SQL 表达式,而不检查其语法。如果使用此属性,请确保其是合法表达式。可以将此字符串引在引号中,但并不是必须这样做。
UserTablePostExecutionSQL 属性将分号视为定界符来运行多个 SQL 语句。如果 SQL 语句包含分号,而您希望将其作为一个语句来运行,请在分号前使用反斜杠作为转义字符。
*
下面描述了可用于 UserTablePostExecutionSQL 的标记。
缺省值
未定义缺省值。
UseTempTablePool
描述
UseTempTablePool 设置为 FALSE 时,临时表将被删除,并在每次运行流程图时重新创建。当该属性设置为 TRUE 时,将不从数据库中删除临时表。将从 Campaign 维护的表池中截断临时表并加以复用。 临时表池在多次重新运行流程图的环境中最高效,例如,设计阶段和测试阶段。
缺省值
FALSE
有效值
TRUE | FALSE
SegmentTablePostExecutionSQL
描述
使用 SegmentTablePostExecutionSQL 属性指定在创建并填充细分市场临时表之后 Campaign 运行的完整 SQL 语句。
下面描述了可用于 SegmentTablePostExecutionSQL 的标记。
此标记将替换为 IBM® EMM 用户名,该用户名与为其创建“细分市场”临时表的流程图关联。
缺省值
未定义
有效值
有效 SQL 语句
SnapshotTablePostExecutionSQL
描述
使用 SnapshotTablePostExecutionSQL 属性来指定在创建并填充快照表后立即运行的一个或多个完整的 SQL 语句。
下面描述了可用于 SnapshotTablePostExecutionSQL 的标记。
缺省值
未定义
有效值
有效 SQL 语句
TempTablePrefix
描述
TempTablePrefix 参数指定在 Campaign 创建的所有临时表的名称前面自动添加的字符串。使用此参数来帮助标识和管理临时表。还可以使用此属性让临时表在特定的位置创建。
例如,如果用户标记对应于某一模式,那么您可以设置
TempTablePrefix="<USER>"
并且所有临时表将在连接到数据源的任意用户的模式下创建。
下面描述了可用于 TempTablePrefix 的标记。
此标记将替换为 IBM® EMM 用户名,该用户名与为其创建临时表的流程图关联。
*
*
缺省值
UAC
TempTablePreTruncateExecutionSQL
描述
*
使用 TempTablePreTruncateExecutionSQL 属性指定一个要在截断临时表之前运行的 SQL 查询。您指定的查询可用于消除 TempTablePostExecutionSQL 属性中指定的 SQL 语句的影响。
例如,使用 TempTablePostExecutionSQL 属性,您可以指定以下 SQL 语句来创建索引:
CREATE INDEX <TABLENAME>Idx_1 (<KEYCOLUMNS>) ON <TABLENAME>
然后,在 TempTablePreTruncateExecutionSQL 属性中指定以下查询来删除该索引:
DROP INDEX <TABLENAME>Idx_1 ON <TABLENAME>
缺省值
未定义
有效值
有效 SQL 查询
TempTablePreTruncateRunScript
描述
*
使用 TempTablePreTruncateRunScript 属性指定一个要在截断临时表之前运行的脚本或可执行文件。您指定的脚本可用于消除 PostTempTableCreateRunScript 属性中指定的 SQL 语句的影响。
例如,使用 PostTempTableCreateRunScript 属性,您可以指定一个包含以下 SQL 语句的脚本来创建索引:
CREATE INDEX <TABLENAME>Idx_1 (<KEYCOLUMNS>) ON <TABLENAME>
然后,在 TempTablePreTruncateRunScript 属性中指定另一个包含以下语句的脚本以删除索引:
DROP INDEX <TABLENAME>Idx_1 ON <TABLENAME>
缺省值
未定义
有效值
shell 脚本或可执行文件的文件名
TeradataDeleteBeforeDrop
描述
TeradataDeleteBeforeDrop 参数仅适用于 Teradata 数据源。它指定在删除表之前是否删除记录。
将此值设置为 TRUE 可在删除表之前从表中删除所有记录。
*
如果 Campaign 由于某种原因无法删除记录,那么它将不删除该表。
将该值设置为 FALSE 将删除表而不必先删除所有记录。
缺省值
TRUE
TruncateSQL
描述
TruncateSQL 属性可用于 DB2® 数据源,并且允许您指定用于表截断的备用 SQL。仅当 DeleteAsTruncate 设置为 TRUE 时,才应用此属性。当 DeleteAsTruncate 设置为 TRUE 时,此属性中的任意定制 SQL 用于截断表。如果未设置此属性,那么 Campaign 将使用 TRUNCATE TABLE <TABLENAME> 语法。
缺省情况下未定义此参数。
下面描述了可用于 TruncateSQL 的标记。
可用于 TruncateSQL 的标记
此标记将替换为 Campaign 所截断的数据库表名称。
缺省值
未定义缺省值。
类型
描述
分区 > 分区[n] > 数据源 > [data_source_name] > 类型属性指定此数据源的数据库类型。
缺省值
缺省值取决于用于创建数据源配置的数据库模板。
有效值
系统表的有效值包括:
*
*
*
*
*
*
客户表的有效值包括:
*
*
UseExceptForMerge
描述
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),那么该语法将更改为以下内容:
Oracle
SELECT IncludeTable.ID FROM IncludeTable
MINUS (SELECT ExcludeTable.ID FROM ExcludeTable)
其他
SELECT IncludeTable.ID FROM IncludeTable
EXCEPT (SELECT ExcludeTable.ID FROM ExcludeTable)
缺省值
FALSE
有效值
TRUE | FALSE
UseMergeForTrack
描述
实现 SQL MERGE 语法以提高跟踪进程的性能。对于 DB2®、Oracle、SQL Server 2008 和 Teradata 12,UseMergeForTrack 属性可以设置为 TRUE。它还可以与其他支持 SQL MERGE 语句的数据库一起使用。
缺省值
TRUE(DB2 和 Oracle)| FALSE(所有其他数据库)
有效值
TRUE | FALSE
UseNonANSIJoin
描述
UseNonANSIJoin 属性指定此数据源是否使用非 ANSI 连接语法。如果数据源类型设置为 Oracle7 或 Oracle8,并且 UseNonANSIJoin 的值设置为 TRUE,那么数据源使用适合于 Oracle 的非 ANSI 连接语法。
缺省值
FALSE
有效值
TRUE | FALSE
UseNotInForMerge
描述
Campaign 在合并进程或细分市场流程中执行排除时,缺省情况下将使用“NOT EXISTS”语法,如:
SELECT IncludeTable.ID FROM IncludeTable WHERE NOT EXISTS (SELECT *
FROM ExcludeTable WHERE IncludeTable.ID = ExcludeTable.ID)
如果启用 UseNotInForMerge(值设置为 YES)并且 (1) 受众级别仅包括单个标识字段或者 (2) 数据源是 Oracle,那么该语法将更改为以下内容:
SELECT IncludeTable.ID FROM IncludeTable WHERE IncludeTable.ID NOT IN
(SELECT ExcludeTable.ID FROM ExcludeTable)
缺省值
NO
有效值
YES | NO
UseSQLToProfile
描述
UseSQLToProfile 属性使您可以配置 Campaign 以将 SQL 查询 GROUP BY 提交给数据库,从而计算概要文件(使用“SELECT field, count(*) FROM table GROUP BY field”),而不必访存记录。
*
FALSE(缺省值)将导致 Campaign 对字段进行概要分析(通过检索表中所有记录的字段值)以及跟踪每个非重复值的计数。
*
TRUE 将导致 Campaign 通过发出类似以下的查询来对字段进行概要分析:
SELECT field, COUNT(*) FROM table GROUP BY field
这将加重数据库的负担。
缺省值
FALSE
有效值
TRUE | FALSE