Campaign | Partitions | partition[n] | dataSources
此类别中的属性配置 Campaign 如何与数据库(包括它自己的系统表)交互。这些属性指定 Campaign 可以访问的数据库以及关于如何构成查询的许多方面。
您在 Campaign 中添加的每个数据源都用分区[n] > 数据源 > [DATA_SOURCE_NAME] 下的一种类别表示。
*
每个分区的 Campaign 系统表数据源必须在 Marketing Platform 中命名为 UA_SYSTEM_TABLES,数据源 > UA_SYSTEM_TABLES 类别必须存在于每个 Campaign 分区的“配置”页面中。
AccessLibrary
描述
Campaign 根据数据源类型来选择其数据源访问库。例如,libora4d.so 用于 Oracle 连接,而 libdb24d.so 用于 DB2® 连接。在大多数情况下,缺省选择都正确。但如果缺省值在您的 Campaign 环境中被证明不正确,那么也可以更改 AccessLibrary 属性。例如,64 位 Campaign 提供两个 ODBC 访问库:一个适用于与 unixODBC 实现兼容的 ODBC 数据源(libodb4d.so,例如被 Campaign 用来访问 Informix®),而另一个与 DataDirect 实现兼容(libodb4dDD.so, 例如由 Campaign 用来访问 Teradata)。
适用于 AIX® 的其他库
描述
对于支持 ODBC ANSI API 而不支持 ODBC Unicode API 的 AIX® ODBC 驱动程序管理器,Campaign 包含两个其他库:
*
*
如果确定应覆盖缺省访问库(例如,如果购买用于 Informix® 的 DataDirect 驱动程序管理器和驱动程序),那么请按需设置该参数(在示例中,设置为 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® Unica Marketing 中保存您的用户名和密码。
如果将此属性设置为 TRUE,那么在您登录数据源时,Campaign 将不提示您输入用户名和密码。如果将此属性设置为 FALSE,那么在您每次登录数据源时,Campaign 都会提示您输入用户名和密码。
缺省值
TRUE
有效值
TRUE | FALSE
ASMUserForDBCredentials
描述
ASMUserForDBCredentials 属性指定分配给 Campaign 系统用户的 IBM® Unica Marketing 用户名(访问 Campaign 系统表时需要)。
缺省情况下,未定义此属性。
缺省值
未定义缺省值。
BulkInsertBlockSize
描述
BulkInsertBlockSize 属性定义数据块的最大大小,以 Campaign 一次传递给数据库的记录数为单位。
缺省值
100
BulkInsertRequiresColumnType
描述
仅在支持 Data Direct ODBC 数据源时需要 BulkInsertRequiresColumnType 属性。请在使用批量(数组)插入时为 Data Direct ODBC 数据源将此属性设置为 TRUE。将此属性设置为 FALSE 以与大多数其他 ODBC 驱动程序兼容。
缺省值
FALSE
BulkReaderBlockSize
描述
BulkReaderBlockSize 属性定义数据块的大小,以 Campaign 一次从数据库读取的记录数为单位。
缺省值
2500
ConditionalSQLCloseBracket
描述
ConditionalSQLCloseBracket 属性指定用于在原始 SQL 定制宏中表示条件细分市场结束的括号类型。仅当临时表存在时,才使用 ConditionalSQLOpenBracketConditionalSQLCloseBracket 属性指定的括号中的条件细分市场,如果没有临时表,那么将忽略这些细分市场。
缺省值
}(右花括号)
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 连接并发出以下命令:
Informix® 具有不同的格式用于写入数据库和从数据库选择。从运行 Campaign 服务器的机器连接到数据库。使用 Campaign\bin 目录中的 odbctest 连接并发出以下命令:
从运行 Campaign 服务器的机器连接到数据库。使用 Campaign\bin 目录中的 odbctest 连接并发出以下命令:
SELECT current_date FROM ANY_TABLE limit 1;
其中 ANY_TABLE 是任何现有表的名称
从运行 Campaign 服务器的机器登录到数据库。使用 SQL *Plus 连接并发出以下命令:
从运行 Campaign 侦听器的机器连接到数据库。使用 Campaign\bin 目录中的 odbctest 连接并发出以下命令:
从运行 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(零)
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
缺省值取决于数据库类型。
缺省值
*
TRUE,对于 Netezza®、Oracle、Sybase 和 SQLServer。
*
FALSE,对于其他数据库类型。
有效值
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. 开头的表。请注意,此参数的值区分大小写。
缺省值
ExtractTablePrefix 属性的值为缺省值时,UAC_* 会排除临时表和抽取表
ExtractTablePostExecutionSQL
描述
使用 ExtractTablePostExecutionSQL 属性可指定在创建和填充抽取表后,立即运行的一个或多个完整的 SQL 语句。
下面描述了可用于 ExtractTablePostExecutionSQL 的标记。
此标记将替换为 IBM® Unica Marketing 用户名,该用户名与为其创建抽取表的流程图关联。
缺省值
未定义
有效值
一个有效的 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 将标识列表上载到临时表中时调用数据库装入器实用程序方式。
此属性的有效值是启动数据库装入实用程序的数据库装入实用程序可执行文件或脚本的任何完整路径名。使用脚本可以在调用装入实用程序前执行其他设置(例如,首先将文件移至数据库服务器,或者调用 ISQL 以在 Sybase IQ 中使用装入命令)。
大多数数据库装入实用程序需要多个参数才能成功启动。这些参数可以包括指定从中装入的数据文件和控制文件以及要装入到的数据库和表。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 将进入数据库装入器实用程序方式,以使来自快照过程的所有输出文件与“附加记录”设置一起使用。
此参数指定为数据库装入实用程序可执行文件或启动数据库装入实用程序的脚本的完整路径名。使用脚本可以在调用装入实用程序前执行其他设置(例如,首先将文件移至数据库服务器,或者调用 ISQL 以在 Sybase IQ 中使用装入命令)。
大多数数据库装入实用程序需要多个参数才能成功启动。这些可以包括指定要从中装入的数据文件和控制文件,以及要装入到的数据库和表。运行该命令时,会用指定的元素替换标记。
请咨询数据库装入实用程序文档以了解调用数据库装入实用程序时要使用的正确语法。
缺省情况下,未定义此参数。
下面描述了可用于 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
描述
一些外部装入实用程序要求分隔数据文件,并且要求每行都以定界符结尾(例如,使用外部表的Informix 的 dbaccess)。为满足此要求,请将 LoaderDelimiterAtEnd 值设置为 TRUE,以便在调用装入器来填充已知为空的表时,Campaign 在每一行的结尾处都使用定界符。
FALSE
缺省值
FALSE
有效值
TRUE | FALSE
LoaderDelimiterAtEndForAppend
描述
一些外部装入实用程序要求分隔数据文件,并且要求每行都以定界符结尾(例如,使用外部表的Informix 的 dbaccess)。要满足此需求,请将 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 的值。
缺省值
Varies depending on the database
MaxRowFetchRecords
描述
当所选标识的数目小于 MaxRowFetchRecords 属性指定的值时,Campaign 在单独的 SQL 查询中将标识传递给数据库,一次传递一个标识。此过程可能非常耗时。如果所选标识的数目大于此参数指定的值,那么 Campaign 将使用临时表(如果数据库源允许),或从表中下拉所有值(不包括任何不必要的值)。
出于性能原因,最好将此数字设得比较低。
缺省值
100
MaxTempTableJoinPctSelectAll
描述
发出查询时,Campaign 在包含标识精确列表的数据库上创建临时表,作为查询结果。当针对数据库发出选择所有记录的其他查询时,MaxTempTableJoinPctSelectAll 属性指定是否执行与临时表的连接操作。
如果临时表的相对大小(以百分比指定)大于 MaxTempTableJoinPctWithCondition 属性的值,那么不执行连接操作。首先选择所有记录,然后废弃不要的记录。
如果临时表的相对大小(以百分比指定)小于或等于 MaxTempTableJoinPctWithCondition 属性的值,那么首先建立与临时表的连接,然后将生成的标识检索到服务器。
仅当 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
描述
仅在支持 Sybase IQ/ASE 数据源时需要 ODBCTableTypes 属性。Campaign 要求设置此属性以便在表映射窗口中显示表的列表。将以下值添加到此属性可启用 SybaseIQ/ASE 数据源的映射:
“TABLE”、“VIEW”、“SYNONYM”、“ALIAS”
缺省情况下此属性为空,这适合 Sybase IQ/ASE 以外的数据源。
缺省值
未定义
有效值
“TABLE”、“VIEW”、“SYNONYM”、“ALIAS”
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 的标记。
此标记将替换为 IBM® Unica Marketing 用户名,该用户名与为其创建抽取表的流程图关联。
缺省值
未定义
有效值
shell 脚本或可执行文件的文件名
PostSegmentTableCreateRunScript
描述
指定在创建和填充“细分市场”临时表后,Campaign 运行的脚本或可执行文件。
下面描述了可用于 PostSegmentTableCreateRunScript 的标记。
此标记将替换为 IBM® Unica Marketing 用户名,该用户名与为其创建“细分市场”临时表的流程图关联。
缺省值
未定义
有效值
脚本或可执行文件的文件名
PostSnapshotTableCreateRunScript
描述
使用 PostSnapshotTableCreateRunScript 属性可指定在创建和填充快照表后,Campaign 运行的脚本或可执行文件。
下面描述了可用于 PostSnapshotTableCreateRunScript 的标记。
此标记将替换为 IBM® Unica Marketing 用户名,该用户名与为其创建快照表的流程图关联。
缺省值
未定义
有效值
shell 脚本或可执行文件的文件名
PostTempTableCreateRunScript
描述
使用 PostTempTableCreateRunScript 属性可指定在用户数据源或系统表数据库中创建和填充临时表后,Campaign 要运行的脚本或可执行文件。
下面描述了可用于 PostTempTableCreateRunScript 的标记。
此标记将替换为 IBM® Unica Marketing 用户名,该用户名与为其创建临时表的流程图关联。
缺省值
未定义缺省值。
PostUserTableCreateRunScript
描述
指定在创建和填充用户表后,Campaign 运行的脚本或可执行文件。
下面描述了可用于 PostUserTableCreateRunScript 的标记。
此标记将替换为 IBM® Unica Marketing 用户名,该用户名与为其创建用户表的流程图关联。
缺省值
未定义
有效值
脚本或可执行文件的文件名
PrefixOnSelectSQL
描述
使用 PrefixOnSelectSQL 属性可指定自动加在 Campaign 生成的所有 SELECT SQL 表达式前面的字符串。
此属性仅适用于 Campaign 生成的 SQL,而不适用于选择过程中使用的“原始 SQL”表达式中的 SQL。
此属性自动添加到 SELECT SQL 表达式,而不检查其语法。如果使用此属性,请确保它是合法表达式。
缺省情况下,未定义此属性。
下面描述了可用于 PrefixOnSelectSQL 的标记。
此标记将替换为 IBM® Unica Marketing 用户名,该用户名与为其创建临时表的流程图关联。
缺省值
未定义缺省值。
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® Unica Marketing 用户名,该用户名与为其创建临时表的流程图关联。
缺省值
未定义缺省值。
StringEncoding
描述
StringEncoding 属性指定数据库的字符编码。当 Campaign 从数据库检索数据时,数据从指定的编码转码为 Campaign (UTF-8) 的内部编码。同样,在 Campaign 向数据库发送查询时,字符数据将从 Campaign 的内部编码转码为 StringEncoding 属性中指定的编码。
此属性的值必须与数据库客户机上使用的编码相匹配。
尽管缺省情况下不定义该值,但请勿将该值留空。如果使用 ASCII 数据,请将该值设置为 UTF-8
*
*
如果使用 partitions > partition[n] > dataSources > [data_source_name] > ODBCUnicode 属性,那么此属性将设置为 UTF-8WIDEUTF-8,否则会忽略 ODBCUnicode 属性的设置。
请参阅附录 D “IBM Unica Campaign 管理员指南中的国际化与编码”,以获取受支持编码的列表。
请参阅下文,以了解重要例外和其他注意事项。
缺省值
未定义缺省值。
特定于数据库的注意事项
对于 DB2® 或 SQL Server,应使用代码页而不是 iconv 编码。对于 Teradata,应覆盖某些缺省行为。本部分描述如何为这些数据库的 StringEncoding 属性设置正确值。
DB2®
要为 DB2® 数据库的 StringEncoding 属性确定正确值,请查找对应于 Campaign 服务器操作系统的区域设置的代码页。
要设置 DB2® 数据库的 StringEncoding 属性值,请将此命令添加到 Campaign 服务器启动脚本:
db2set DB2CODEPAGE=CPIBM_code_page
例如,要使用 UTF-8:
db2set DB2CODEPAGE=1208
这将影响所有 DB2® 数据源,并且可能会影响其他正在运行的程序。
SQL Server
要为 SQL Server 数据库的 StringEncoding 属性确定正确值,请查找对应于服务器操作系统的区域设置的代码页。
例如,要使用代码页 932(日语 Shift-JIS):
StringEncoding=CP932
Teradata
Teradata 支持基于列的字符编码,而 Campaign 仅支持基于数据源的编码。由于 Teradata ODBC 驱动程序中的错误,UTF-8 无法与 Campaign 一起使用。Teradata 设置每次登录使用的缺省字符编码。您可以在 Windows 上的 ODBC 数据源配置中,或 UNIX 平台上的 odbc.ini 中,使用参数覆盖此行为,如下所示:
CharacterSet=UTF8
Teradata 表的缺省编码为 LATIN。Teradata 的内置编码极少,但它支持用户定义的编码。
StringEncoding 属性的缺省值为 ASCII
*
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 表达式的字符串(SuffixOnInsertSQL、SuffixOnSelectSQL、SuffixOnTempTableCreation、 SuffixOnUserTableCreation SuffixOnUserBaseTableCreation 属性不涵盖这些表达式)。
此属性仅适用于 Campaign 生成的 SQL,而不适用于选择过程中使用的“原始 SQL”表达式中的 SQL。
Campaign 生成时,SuffixOnAllOtherSQL 用于下列表达式类型:
TRUNCATE TABLE table
DROP TABLE table
DELETE FROM table [WHERE ...]
UPDATE table SET ...
此属性自动添加到 SQL 表达式,而不检查其语法。如果使用此参数,请确保它是合法表达式。此字符串可以引在引号中,但不要求这样做。
缺省情况下,未定义此属性。
下面描述了可用于 SuffixOnAllOtherSQL 的标记。
此标记将替换为 IBM® Unica Marketing 用户名,该用户名与为其创建临时表的流程图关联。
缺省值
未定义缺省值。
SuffixOnCreateDateField
描述
SuffixOnCreateDateField 属性指定 Campaign 自动附加到 CREATE TABLE SQL 语句中任何 DATE 字段的字符串。
例如,您可以按如下所示设置此属性:
SuffixOnCreateDateField = FORMAT 'YYYY-MM-DD’
如果未定义此属性(缺省情况),那么 CREATE TABLE 命令将不变。
*
请参阅 DateFormat 属性描述中的表。
缺省值
未定义缺省值。
SuffixOnInsertSQL
描述
SuffixOnInsertSQL 属性指定自动附加到 Campaign 生成的所有 INSERT SQL 表达式的字符串。此属性仅适用于 Campaign 生成的 SQL,而不适用于选择过程中使用的“原始 SQL”表达式中的 SQL。
Campaign 生成时,SuffixOnInsertSQL 用于下列表达式类型:
INSERT INTO table ...
此属性自动添加到 SQL 表达式,而不检查其语法。如果使用此属性,请确保它是合法表达式。此字符串可以引在引号中,但不要求这样做。
缺省情况下,未定义此属性。
下面描述了可用于 SuffixOnInsertSQL 的标记。
此标记将替换为 IBM® Unica Marketing 用户名,该用户名与为其创建临时表的流程图关联。
缺省值
未定义缺省值。
SuffixOnSelectSQL
描述
SuffixOnSelectSQL 属性指定自动附加到 Campaign 生成的所有 SELECT SQL 表达式的字符串。此属性仅适用于 Campaign 生成的 SQL,而不适用于选择过程中使用的“原始 SQL”表达式中的 SQL。
此属性自动添加到 SQL 表达式,而不检查其语法。如果使用此属性,请确保它是合法表达式。此字符串可以引在引号中,但不要求这样做。
缺省情况下,未定义此属性。
下面描述了可用于 SuffixOnSelectSQL 的标记。
此标记将替换为 IBM® Unica Marketing 用户名,该用户名与为其创建临时表的流程图关联。
缺省值
未定义缺省值。
SuffixOnTempTableCreation
描述
使用 SuffixOnTempTableCreation 属性可指定创建临时表时,自动附加到 Campaign 生成的 SQL 表达式的字符串。此属性仅适用于 Campaign 生成的 SQL,而不适用于选择过程中使用的“原始 SQL”表达式中的 SQL。要使用此属性,AllowTempTables 属性必须设置为 TRUE
您可能希望使用标记来替换此 SQL 语句中的表名和列名(<TABLENAME><KEYCOLUMNS>),因为这些标记是在竞销活动执行期间动态生成的。
此属性自动添加到 SQL 表达式,而不检查其语法。如果使用此属性,请确保它是合法表达式。此字符串可以引在引号中,但不要求这样做。
缺省情况下,未定义此属性。
*
下面描述了可用于 SuffixOnTempTableCreation 的标记。
此标记将替换为 IBM® Unica Marketing 用户名,该用户名与为其创建临时表的流程图关联。
缺省值
未定义缺省值。
SuffixOnSegmentTableCreation
描述
指定创建“细分市场”临时表时,自动附加到 Campaign 生成的 SQL 表达式的字符串。
下面描述了可用于 SuffixOnSegmentTableCreation 的标记。
此标记将替换为 IBM® Unica Marketing 用户名,该用户名与为其创建“细分市场”临时表的流程图关联。
缺省值
未定义
有效值
有效 SQL
SuffixOnSnapshotTableCreation
描述
使用 SuffixOnSnapshotTableCreation 属性可指定创建快照表时,自动附加到 Campaign 生成的 SQL 表达式的字符串。
下面描述了可用于 SuffixOnSnapshotTableCreation 的标记。
此标记将替换为 IBM® Unica Marketing 用户名,该用户名与为其创建快照表的流程图关联。
缺省值
未定义
有效值
有效 SQL
SuffixOnExtractTableCreation
描述
使用 SuffixOnExtractTableCreation 属性可指定创建抽取表时,自动附加到 Campaign 生成的 SQL 表达式的字符串。
下面描述了可用于 SuffixOnExtractTableCreation 的标记。
此标记将替换为 IBM® Unica Marketing 用户名,该用户名与为其创建抽取表的流程图关联。
缺省值
未定义
有效值
有效 SQL
SuffixOnUserBaseTableCreation
描述
使用 SuffixOnUserBaseTableCreation 属性可指定在用户创建基本表时(例如在抽取过程中),自动附加到 Campaign 生成的 SQL 表达式的字符串。此属性仅适用于 Campaign 生成的 SQL,而不适用于选择过程中使用的“原始 SQL”表达式中的 SQL。
您可能希望使用标记来替换此 SQL 语句中的表名和列名(<TABLENAME><KEYCOLUMNS>),因为这些标记是在竞销活动执行期间动态生成的。
此属性自动添加到 SQL 表达式,而不检查其语法。如果使用此属性,请确保它是合法表达式。此字符串可以引在引号中,但不要求这样做。
缺省情况下,未定义此属性。
下面描述了可用于 SuffixOnUserBaseTableCreation 的标记。
此标记将替换为 IBM® Unica Marketing 用户名,该用户名与为其创建临时表的流程图关联。
缺省值
未定义缺省值。
SuffixOnUserTableCreation
描述
使用 SuffixOnUserTableCreation 属性可指定在用户创建普通表时(例如在快照过程中),自动附加到 Campaign 生成的 SQL 表达式的字符串。此属性仅适用于 Campaign 生成的 SQL,而不适用于选择过程中使用的“原始 SQL”表达式中的 SQL。
此属性自动添加到 SQL 表达式,而不检查其语法。如果使用此属性,请确保它是合法表达式。此字符串可以引在引号中,但不要求这样做。
缺省情况下,未定义此属性。
下面描述了可用于 SuffixOnUserTableCreation 的标记。
此标记将替换为 IBM® Unica Marketing 用户名,该用户名与为其创建临时表的流程图关联。
缺省值
未定义缺省值。
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® Unica Marketing 用户名,该用户名与为其创建临时表的流程图关联。
缺省值
未定义缺省值。
TableListSQL
描述
使用 TableListSQL 属性来指定 SQL 查询,用于在可用于映射的表列表中包含同义词。
缺省值为空。如果您的数据源为 SQL Server 并且希望能够在返回的表模式中映射同义词,该属性是必需的。如果除了使用标准方法(例如 ODBC 调用或本机连接)检索的表模式信息之外,您还希望对其他数据源使用特定 SQL 查询(或代替标准方法),那么该属性是可选的。
要确保 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 属性与此类似,但特别适用于 Optimize
此属性生成的 SQL 语句自动传递到您的数据库,而不检查其语法。如果使用此属性,请确保它是合法表达式。此字符串可以引在引号中,但不要求这样做。
缺省情况下,未定义此属性。
下面描述了可用于 UOSQLOnConnect 的标记。
此标记将替换为 IBM® Unica Marketing 用户名,该用户名与为其创建临时表的流程图关联。
缺省值
未定义缺省值。
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 SELECT 查询,或者在 TableListSQL 属性中指定有效的 SQL 来代替在缺省情况下使用的 ODBC API 或本机连接(或者作为对缺省方法的补充)。请参阅 TableListSQL 属性的描述以了解更多详细信息。
缺省值
FALSE
有效值
TRUE | FALSE
示例
要允许 CampaignNetezza® 或 SQL Server 同义词一起工作:
UseSQLToRetrieveSchema=TRUE
UserTablePostExecutionSQL
描述
使用 UserTablePostExecutionSQL 属性可指定在用户数据源或系统表数据库中创建用户表后,Campaign 立即运行的完整 SQL 语句。
您可能希望使用标记来替换此 SQL 语句中的表名和列名(<TABLENAME><KEYCOLUMNS>),因为这些标记是在竞销活动执行期间动态生成的。
此属性自动添加到 SQL 表达式,而不检查其语法。如果使用此属性,请确保它是合法表达式。此字符串可以引在引号中,但不要求这样做。
UserTablePostExecutionSQL 属性将分号视为定界符来运行多个 SQL 语句。如果 SQL 语句包含分号,而您希望将其作为一个语句来运行,请在分号前使用反斜杠作为转义字符。
*
下面描述了可用于 UserTablePostExecutionSQL 的标记。
此标记将替换为 IBM® Unica Marketing 用户名,该用户名与为其创建用户表的流程图关联。
缺省值
未定义缺省值。
UseTempTablePool
描述
*
UseTempTablePool 属性设置为 TRUE 时,将不从数据库中删除临时表。临时表将被截断,并从 Campaign 维护的表的池中复用。当设置为 FALSE 时,临时表将被删除,并在每次运行流程图时重新创建。
缺省值
FALSE
有效值
TRUE | FALSE
SegmentTablePostExecutionSQL
描述
使用 SegmentTablePostExecutionSQL 属性可指定在创建和填充“细分市场”临时表后,Campaign 运行的完整 SQL 语句。
下面描述了可用于 SegmentTablePostExecutionSQL 的标记。
此标记将替换为 IBM® Unica Marketing 用户名,该用户名与为其创建“细分市场”临时表的流程图关联。
缺省值
未定义
有效值
一个有效的 SQL 语句
SnapshotTablePostExecutionSQL
描述
使用 SnapshotTablePostExecutionSQL 属性可指定在创建和填充快照表后,立即运行的一个或多个完整的 SQL 语句。
下面描述了可用于 SnapshotTablePostExecutionSQL 的标记。
此标记将替换为 IBM® Unica Marketing 用户名,该用户名与为其创建快照表的流程图关联。
缺省值
未定义
有效值
一个有效的 SQL 语句
TempTablePrefix
描述
TempTablePrefix 属性指定自动加在 Campaign 创建的所有临时表名称前面的字符串。使用此参数可帮助您标识和管理临时表。还可以使用此属性让临时表在特定的位置创建。
例如,如果用户标记对应于模式,那么您可以设置
TempTablePrefix="<USER>"
并且所有临时表将在连接到数据源的任意用户的模式下创建。
下面描述了可用于 TempTablePrefix 的标记。
此标记将替换为 IBM® Unica Marketing 用户名,该用户名与为其创建临时表的流程图关联。
*
*
缺省值
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 截断的数据库表名。
缺省值
未定义缺省值。
Type
描述
分区 > 分区[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 连接语法(例如,对于第 8 版以前的 Oracle 版本和 Informix8)。
*
如果数据源类型已设置为 Informix8,那么将忽略 UseNonANSIJoin 的值,并且始终使用适用于 Informix8 的非 ANSI 连接语法。
*
如果数据源类型设置为 Oracle7 或 Oracle8,那么 UseNonANSIJoin 的值将设置为 TRUE,该数据源将使用适用于 Oracle 的非 ANSI 连接语法。
*
如果数据源类型设置为 Sybase,那么 UseNonANSIJoin 的值将设置为 TRUE,该数据源将使用适用于 Sybase 的非 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