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