此类别中的属性配置 Campaign 与数据库的交互方式,包括它自己的系统表。这些属性指定 Campaign 可以访问的数据库以及关于如何构成查询的许多方面。
您在 Campaign 中添加的每个数据源都用分区[n] > 数据源 > [DATA_SOURCE_NAME] 下的一种类别表示。
![]()
每个分区的 Campaign 系统表数据源必须在 Marketing Platform 中命名为 UA_SYSTEM_TABLES,数据源 > UA_SYSTEM_TABLES 类别必须存在于每个 Campaign 分区的“配置”页面中。Campaign 根据数据源类型来选择其数据源访问库。例如,libora4d.so 用于 Oracle 连接,而 libdb24d.so 用于 DB2 连接。在大多数情况下,缺省选择都正确。但如果缺省值在您的 Campaign 环境中被证明不正确,那么也可以更改 AccessLibrary 属性。例如,64 位 Campaign 提供两个 ODBC 访问库:一个适用于兼容 unixODBC 实现的 ODBC 数据源(libodb4d.so — 例如被 Campaign 用来访问 Informix),而另一个兼容 DataDirect 实现(libodb4dDD.so — 例如被 Campaign 用来访问 Teradata)。对于支持 ODBC ANSI API 而不支持 ODBC Unicode API 的 AIX ODBC 驱动程序管理器,Campaign 包含两个其他库:如果确定应覆盖缺省访问库(例如,如果购买用于 Informix 的 DataDirect 驱动程序管理器和驱动程序),那么请按需设置该参数(在示例中,设置为 libodb4dDD.so,覆盖缺省选项 libodb4d.so)。ASMSaveDBAuthentication 属性指定当您登录到 Campaign 并在先前未登录到的数据源中映射表时,Campaign 是否在 IBM Unica Marketing 中保存您的用户名和密码。如果将此属性设为 TRUE,那么在您后续登录数据源时,Campaign 将不提示您输入用户名和密码。如果将此属性设为 FALSE,那么在您每次登录数据源时,Campaign 都会提示您输入用户名和密码。AllowSegmentUsingSQLCase 属性指定在满足特定配置条件时,Campaign 分段过程是否将多条 SQL 语句合并成一条 SQL 语句。如果满足下列所有条件,那么将此属性设置为 TRUE 可以显著提高性能。
![]()
每个分段的条件都基于 IBM 宏语言。如果启用临时表,那么每次对数据库发出查询时(例如,由分段过程发出),生成的标识将写入到数据库中的临时表。在发出其他查询时,Campaign 可以使用该临时表从数据库中检索行。如果不启用临时表,那么 Campaign 将在服务器内存中保留选定的标识。其他查询从数据库中检索标识,并将这些标识与服务器内存中的标识进行匹配。当 UseTempTablePool 属性设置为 TRUE 时,将不从数据库中删除临时表。临时表将被截断,并从 Campaign 维护的表的池中复用。当设置为 FALSE 时,临时表将被删除,并在每次运行流程图时重新创建。使用 TempTablePreTruncateRunScript 属性可指定将在截断临时表之前运行的脚本或可执行文件。您指定的脚本可用于消除 PostTempTableCreateRunScript 属性中指定的 SQL 语句的影响。例如,使用 PostTempTableCreateRunScript 属性,您可以指定一个包含以下 SQL 语句的脚本来创建索引:然后,在 TempTablePreTruncateRunScript 属性中指定另一个具有以下语句的脚本来删除该索引:使用 TempTablePreTruncateExecutionSQL 属性可指定将在截断临时表之前运行的 SQL 查询。您指定的查询可用于消除 TempTablePostExecutionSQL 属性中指定的 SQL 语句的影响。例如,使用 TempTablePostExecutionSQL 属性,您可以指定以下 SQL 语句来创建索引:然后,在 TempTablePreTruncateExecutionSQL 属性中指定以下查询来删除该索引:BulkInsertBlockSize 属性定义数据块的最大大小,以 Campaign 一次传递给数据库的记录数为单位。仅在支持 Data Direct ODBC 数据源时需要 BulkInsertRequiresColumnType 属性。请在使用批量(数组)插入时为 Data Direct ODBC 数据源将此属性设置为 TRUE。将此属性设置为 FALSE 以与大多数其他 ODBC 驱动程序兼容。BulkReaderBlockSize 属性定义数据块的大小,以 Campaign 一次从数据库读取的记录数为单位。ConditionalSQLCloseBracket 属性指定用于在原始 SQL 定制宏中表示条件分段结束的括号类型。仅当临时表存在时,才使用 ConditionalSQLOpenBracket 和 ConditionalSQLCloseBracket 属性指定的括号中的条件分段,如果没有临时表,那么将忽略这些分段。}(右花括号)ConditionalSQLOpenBracket 属性指定用于在原始 SQL 定制宏中表示条件分段开始的括号类型。仅当临时表存在时,才使用 ConditionalSQLOpenBracket 和 ConditionalSQLCloseBracket 属性指定的括号中的条件分段,如果没有临时表,那么将忽略这些分段。{(左花括号)ConnectionCacheSize 属性指定 Campaign 在高速缓存中为每个数据源维护的连接数。缺省情况下 (N=0),Campaign 为每个操作建立一个到数据源的新连接;如果 Campaign 维护连接的高速缓存并且连接可供复用,那么 Campaign 将使用高速缓存的连接而不必建立新连接。如果此设置不为 0,那么在连接过程完成后,Campaign 将最多使指定数目的连接打开的时间为 InactiveConnectionTimeout 属性指定的时间。在此时间到期后,连接将从高速缓存中删除并关闭。0(零)您可以指定多个引用同一个物理数据源的逻辑数据源。例如,您可以创建两个 Campaign 数据源,一个数据源的 AllowTempTables = TRUE,而另一个数据源的 AllowTempTables = FALSE。其中的每个数据源在 Campaign 中都将具有一个不同的数据源名称,但如果它们引用同一个物理数据源,那么它们将具有相同的 DSN 值。仅当 Campaign 数据源为 SQL Server 时,才应用 DSNUsingOSAuthentication 属性。当 DSN 配置为使用 Windows 认证方式时,请将该值设置为 TRUE。请将 DateFormat 属性的值设置为 Campaign 将用于从该数据源接收日期的格式。该值必须与数据库用来显示选定日期的格式相匹配。对于大多数数据库,该设置与 DateOutputFormatString 属性的设置相同。
从运行 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 允许您为每列定义日期格式。除了 dateFormat 和 dateOutputFormatString 之外,还需要设置 SuffixOnCreateDateField。为了与我们的系统表设置一致,请使用:
![]()
SuffixOnCreateDateField = FORMAT 'YYYY-MM-DD'
![]()
DateFormat = DELIM_Y_M_D
![]()
DateOutputFormatString = %Y-%m-%d如果在 ODBC 数据源配置中未选中在输出货币、数字、日期和时间时使用区域设置选项,那么将无法重置日期格式。通常情况下,更容易不选中此设置,以便日期格式配置不因语言不同而更改。DATE 宏中指定的任意格式DateOutputFormatString 属性指定要在 Campaign 将任何日期(如竞销活动开始或结束日期)写入数据库时使用的日期数据类型的格式。请将 DateOutputFormatString 属性的值设置为数据源要为 date 类型的列使用的格式。对于大多数数据库,该设置与 [data_source_name] > DateFormat 属性的设置相同。DateOutputFormatString 属性可设置为在 DATE_FORMAT 宏中为 format_str 指定的任何格式。请注意,DATE_FORMAT 宏接受两种不同类型的格式。一种是标识(例如 DELIM_M_D_Y、DDMMMYYYY,与 DATE 宏接受的相同),另一种是格式字符串。DateOutputFormatString 属性的值必须是格式字符串 - 不能是某个 DATE 宏标识。通常使用某种定界格式。请勿使用数据库附带的查询工具(例如 SQL Server 的查询分析器)来验证日期是否正在正确发送到数据库。这些查询工具可能会将日期格式转换为除 Campaign 实际发送给数据库的内容以外的内容。
2. 创建表并以选定的格式插入日期。例如,如果选择了 %m/%d/%Y:如果数据库允许 INSERT 命令成功完成,那么表示您选择了正确的格式。[data_source_name] > DateTimeFormat 属性的值指定 Campaign 将用于从数据库接收日期时间/时间戳数据的格式。该值必须与数据库用来显示选定日期时间/时间戳数据的格式相匹配。对于大多数数据库,该设置与 DateTimeOutputFormatString 的设置相同。DateTimeOutputFormatString 属性指定要在 Campaign 将任何日期时间(如竞销活动开始或结束日期和时间)写入数据库时使用的日期时间数据类型的格式。请将 DateTimeOutputFormatString 属性的值设置为数据源要为 datetime 类型的列使用的格式。对于大多数数据库,该设置与 [data_source_name] > DateTimeFormat 属性的设置相同。DB2NotLoggedInitially 属性确定填充 DB2 中的临时表时,Campaign 是否使用 not logged initially SQL 语法。设置为 TRUE 时,此属性会禁用日志记录以插入至临时表,这样可以提高性能并减少数据库资源消耗。DB2NotLoggedInitiallyUserTables 属性确定 Campaign 是否使用 not logged initially SQL 语法向 DB2 用户表中插入。设置为 TRUE 时,此属性为向用户表的插入禁用日志记录,这样可以提高性能并减少数据库资源消耗。
![]()
设置为 TRUE 时,如果用户表事务由于某种原因而失败,那么该表将损坏,并且必须将其删除。该表中先前包含的所有数据将会丢失。
![]()
DB2NotLoggedInitiallyUserTables 属性不用于 Campaign 系统表。0(零)DisallowTempTableDirectCreate 属性指定 Campaign 将数据添加到临时表所使用的方法。设置为 FALSE 时,Campaign 使用一个命令执行直接的创建和填充 SQL 语法;例如,CREATE TABLE <table_name> AS ...(对于 Oracle 和 Netezza)以及 SELECT <field_names> INTO <table_name> ...(对于 SQL Server)。EnableBaseDimSelfJoin 属性指定当基本表和维度表映射到同一个物理表,且维与基本表的标识字段上的基本表无关时,Campaign 数据库行为是否执行自我连接。值为 TRUE 时,数据库执行取消重复,针对数据库生成的 SQL 查询格式如下(如果适当):如果满足以下条件,那么请将该值设置为 FALSE:
![]()
您希望 Campaign 应用程序服务器执行取消重复以减轻数据库上的资源消耗/负担。值为 TRUE 时,数据库执行排序,针对数据库生成的 SQL 查询格式如下:
![]()
ExtractTablePrefix 属性指定自动加在 Campaign 中所有抽取表名前面的字符串。InsertLogSize 属性指定在 Campaign 快照过程正运行时,何时在日志文件中输入新条目。每当快照过程写入的记录数达到 InsertLogSize 属性中指定的数字的倍数时,都会写入日志条目。日志条目可以帮助您确定正运行的快照过程的进度。请注意,如果该值设置过低会导致创建的日志文件很大。100000(十万条记录)仅当配置 Campaign 系统表(不是为其他数据源,如客户表)时才使用 JndiName 属性。请将其值设置为应用程序服务器(Websphere 或 WebLogic)中定义的 Java 命名和目录接口 (JNDI) 数据源。LoaderCommand 属性指定被发出以在 Campaign 中调用数据库装入实用程序的命令。如果设置此参数,那么Campaign 将进入数据库装入器实用程序方式,以使来自快照过程的所有输出文件与“替换所有记录”设置一起使用。此参数还在 Campaign 将标识列表上载到临时表中时调用数据库装入器实用程序方式。大多数数据库装入实用程序需要多个参数才能成功启动。这些参数可以包括指定从中装入的数据文件和控制文件以及要装入到的数据库和表。Campaign 支持以下标记,当命令运行时,这些标记将替换为指定的元素。有关调用数据库装入实用程序时要使用的正确语法,请参阅数据库装入实用程序文档。下面描述了可用于 LoaderCommand 的标记。
此标记将替换为与正在运行的流程图关联的 IBM Unica Marketing 用户名。
此标记将替换为临时控制文件的完整路径和文件名,该文件是 Campaign 根据 LoaderControlFileTemplate 参数中指定的模板生成的。
此标记将替换为数据源名称, Campaign 将数据装入到该数据源中。此名称与该数据源的类别名称中使用的数据源名称相同。
此标记将替换为 Campaign 在装入期间创建的临时数据文件的完整路径和文件名。此文件位于 Campaign 临时目录 UNICA_ACTMPDIR 中。
此标记将替换为 DSN 属性的值。如果未设置 DSN 属性,那么 <DSN> 标记将替换为此数据源的类别名称中使用的数据源名称(用于替换 <DATABASE> 标记的相同值)。
此标记已废弃,但支持向后兼容。请参阅 <TABLENAME>,从 V4.6.3 开始它已替换 <TABLE>。
此标记将替换为数据库表名,Campaign 将数据装入到该表中。这是来自快照过程的目标表,或 Campaign 创建的临时表的名称。
LoaderCommandForAppend 参数指定被发出以在 Campaign 中调用数据库装入实用程序来为数据库表附加记录的命令。如果设置此参数,那么 Campaign 将进入数据库装入器实用程序方式,以使来自快照过程的所有输出文件与“附加记录”设置一起使用。下面描述了可用于 LoaderCommandForAppend 的标记。
此标记将替换为与正在运行的流程图关联的 IBM Unica Marketing 用户名。
此标记将替换为临时控制文件的完整路径和文件名,该文件是 Campaign 根据 LoaderControlFileTemplate 参数中指定的模板生成的。
此标记将替换为 Campaign 将数据装入其中的数据源的名称。此名称与该数据源的类别名称中使用的数据源名称相同。
此标记将替换为 Campaign 在装入期间创建的临时数据文件的完整路径和文件名。此文件位于 Campaign 临时目录 UNICA_ACTMPDIR 中。
此标记将替换为 DSN 属性的值。如果未设置 DSN 属性,那么 <DSN> 标记将替换为此数据源的类别名称中使用的数据源名称(用于替换 <DATABASE> 标记的相同值)。
此标记已废弃,但支持向后兼容。请参阅 <TABLENAME>,从 V4.6.3 开始它已替换 <TABLE>。
此标记将替换为数据库表名,Campaign 将数据装入到该表中。这是来自快照过程的目标表,或 Campaign 创建的临时表的名称。
LoaderControlFileTemplate 属性指定先前已在 Campaign 中配置的控制文件模板的完整路径和文件名。设置此参数时,Campaign 根据您在此处指定的模板动态构建临时控制文件。此临时控制文件的路径和名称可用于 <CONTROLFILE> 标记,而此标记可用于 LoaderCommand 参数。
此标记将替换为文字“CHAR( )”。将此字段的长度指定在 () 之间。如果数据库无法识别字段类型 CHAR,那么您可以为该字段类型手动指定适当的文本,并使用 <FIELDLENGTH> 标记。例如,对于 SQLSVR 和 SQL2000,将使用“SQLCHAR(<FIELDLENGTH>)”
此标记将指定的字符放在所有装入到数据库中的字段上,最后一个字段除外。通常使用 <,>,这样会在所有字段(最后一个字段除外)上重复使用一个逗号。
LoaderControlFileTemplateForAppend 属性指定先前已在 Campaign 中配置的控制文件模板的完整路径和文件名。设置此参数时,Campaign 根据您在此处指定的模板动态构建临时控制文件。此临时控制文件的路径和名称可用于 <CONTROLFILE> 标记,而此标记可用于 LoaderCommandForAppend 属性。有关控制文件所需的正确语法,请参阅数据库装入器实用程序文档。可用于控制文件模板的标记与 LoaderControlFileTemplate 属性的标记相同。LoaderDelimiter 属性指定临时数据文件是固定宽度平面文件还是带定界符的平面文件,如果是带定界符的平面文件,那么字符 Campaign 将用作定界符。如果未定义该值,那么 Campaign 会将临时数据文件创建为固定宽度的平面文件。如果指定一个值,那么当调用装入器来填充已知为空的表时,将使用该值。Campaign 会将临时数据文件创建为带定界符的平面文件,使用此属性的值作为定界符。一些外部装入实用程序要求分隔数据文件,并且要求每行都以定界符结尾(例如,使用外部表的Informix 的 dbaccess)。为满足此要求,请将 LoaderDelimiterAtEnd 值设置为 TRUE,以便在调用装入器来填充已知为空的表时,Campaign 在每一行的结尾处都使用定界符。一些外部装入实用程序要求分隔数据文件,每行使用定界符结尾(例如,Informix 使用外部表的 dbaccess)。为满足此要求,请将 LoaderDelimiterAtEndForAppend 值设置为 TRUE,以便在调用装入器来填充未知为空的表时,Campaign 在每一行的结尾处使用定界符。LoaderDelimiterForAppend 属性指定 Campaign 临时数据文件是固定宽度平面文件还是带定界符的平面文件,如果带定界符,那么还指定用作定界符的字符或字符集。如果未定义该值,那么 Campaign 会将临时数据文件创建为固定宽度的平面文件。如果指定一个值,那么当调用装入器来填充未知为空的表时,将使用该值。Campaign 会将临时数据文件创建为带定界符的平面文件,使用此属性的值作为定界符。LoaderUseLocaleDP 属性指定在 Campaign 向数据库装入实用程序将要装入的文件写入数字值时,是否使用特定于语言环境的符号作为小数点。将该值设置为 FALSE 可指定句点 (.) 用作小数点。将该值设置为 TRUE 可指定使用适合语言环境的小数点符号。允许您指定 Campaign 允许在 SQL 中的单个列表中包含的最大项目数(例如,值列表允许一个 WHERE 子句中使用一个 IN 运算符)。MaxQueryThreads 属性指定允许从单个 Campaign 流程图针对每个数据库源同时运行的查询数上限。Campaign 使用独立的线程执行数据库查询。因为 Campaign 过程并行运行,所以通常针对单一数据源同时执行多个查询。如果并行运行的查询数超过此属性指定的值,那么 Campaign 服务器会自动将同时运行的查询数限制至该值。最大值无限制。请注意,当 maxReuseThreads 属性设置为非零值时,它应大于或等于 MaxQueryThreads 的值。当所选标识的数目小于 MaxRowFetchRecords 属性指定的值时,Campaign 在单独的 SQL 查询中将标识传递给数据库,一次传递一个标识。此过程可能非常耗时。如果所选标识的数目大于此参数指定的值,那么 Campaign 将使用临时表(如果数据库源允许),或从表中下拉所有值(不包括任何不必要的值)。发出查询时,Campaign 在包含标识精确列表的数据库上创建临时表,作为查询结果。当针对数据库发出选择所有记录的其他查询时,MaxTempTableJoinPctSelectAll 属性指定是否执行与临时表的连接操作。如果临时表的相对大小(以百分比指定)大于 MaxTempTableJoinPctWithCondition 属性的值,那么不执行连接操作。首先选择所有记录,然后废弃不要的记录。如果临时表的相对大小(以百分比指定)小于或等于 MaxTempTableJoinPctWithCondition 属性的值,那么首先执行与临时表的连接,然后将生成的标识检索到服务器。假定 MaxTempTableJoinPctSelectAll 设置为 90。首先,您可能要从数据库表 (Customer) 中选择帐户余额 (Accnt_balance) 大于 1,000 美元的客户 (CustID)。选择过程可能从表的总共 1,000,000 个标识中检索 100,000 个标识,比例为 10%。如果允许使用临时表,那么 Campaign 会将选定的标识 (TempID) 写入到数据库中的临时表 (Temp_table)。然后,您可能希望抓取所选标识 (CustID) 以及实际余额 (Accnt_balance) 的快照。由于临时表 (Temp_table) 的相对大小小于 90% (MaxTempTableJoinPctSelectAll),将首先执行与临时表的连接。快照过程生成的 SQL 表达式可能如下所示:如果选择过程的检索量超过 90%,那么后续的快照过程将检索所有记录,并将这些记录与第一组标识进行匹配,废弃不需要的记录。发出查询时,Campaign 在包含标识精确列表的数据库上创建临时表,作为查询结果。当针对数据库发出按照限制条件选择记录的其他查询时,MaxTempTableJoinPctWithCondition 属性指定是否应执行与临时表的连接操作。如果临时表的相对大小(以百分比指定)大于 MaxTempTableJoinPctWithCondition 的值,那么不执行连接操作。这样可以避免数据库中可能不需要的开销。在这种情况下,针对数据库发出查询,检索生成的标识列表,然后在不需要的记录与服务器内存中的列表进行匹配时废弃这些记录。如果临时表的相对大小(以百分比指定)小于或等于 MaxTempTableJoinPctWithCondition 的值,那么首先执行与临时表的连接,然后将生成的标识检索到服务器。使用此属性可设置用于使用批量装入程序的阈值。当输入单元格中的唯一标识数目超过此处定义的值时,Campaign 将调用分配给 LoaderCommandForAppend 参数的脚本。此属性的值不代表将写入的记录数。0(零)仅在支持 Sybase IQ/ASE 数据源时需要 ODBCTableTypes 属性。Campaign 要求设置此属性以便在表映射窗口中显示表的列表。将以下值添加到此属性可启用 SybaseIQ/ASE 数据源的映射:ODBCUnicode 属性指定 Campaign ODBC 调用中使用的编码类型。此属性仅用于 ODBC 数据源,使用 Oracle 或 DB2 本机连接时将忽略此属性。
![]()
![]()
Disabled - Campaign 使用 ANSI ODBC 调用。
![]()
UTF-8 - Campaign 使用 Unicode ODBC 调用并假定 SQLWCHAR 为单字节。这与 DataDirect ODBC 驱动程序兼容。
![]()
UCS-2 - Campaign 使用 Unicode ODBC 调用并假定 SQLWCHAR 为双字节。这与 Windows 和 unixODBC ODBC 驱动程序兼容。缺省值 FALSE 允许 Campaign 使用 v3 API 规范,而设置为 TRUE 会导致 Campaign使用 v2 API 规范。对于不支持 ODBC v3 API 规范的数据源,请将 ODBCv2 属性设置为 TRUE。指定在创建和填充“分段”临时表后,Campaign 运行的脚本或可执行文件。下面描述了可用于 PostSegmentTableCreateRunScript 的标记。
此标记将替换为 IBM Unica Marketing 用户名,该用户名与为其创建“分段”临时表的流程图关联。
下面描述了可用于 PostSnapshotTableCreateRunScript 的标记。
此标记将替换为 IBM Unica Marketing 用户名,该用户名与为其创建快照表的流程图关联。
下面描述了可用于 PostExtractTableCreateRunScript 的标记。
此标记将替换为 IBM Unica Marketing 用户名,该用户名与为其创建抽取表的流程图关联。
下面描述了可用于 PostTempTableCreateRunScript 的标记。
此标记将替换为 IBM Unica Marketing 用户名,该用户名与为其创建临时表的流程图关联。
指定在创建和填充用户表后,Campaign 运行的脚本或可执行文件。下面描述了可用于 PostUserTableCreateRunScript 的标记。
此标记将替换为 IBM Unica Marketing 用户名,该用户名与为其创建用户表的流程图关联。
此属性仅适用于 Campaign 生成的 SQL,而不适用于选择过程中使用的“原始 SQL”表达式中的 SQL。此属性自动添加到 SELECT SQL 表达式,而不检查其语法。如果使用此属性,请确保它是合法表达式。下面描述了可用于 PrefixOnSelectSQL 的标记。
此标记将替换为 IBM Unica Marketing 用户名,该用户名与为其创建临时表的流程图关联。
此标记将替换为正在运行流程图的用户的 Campaign 用户名。
QueryThreadSleep 属性影响 Campaign 服务器进程 (UNICA_ACSVR) 的 CPU 利用率。值为 TRUE 时,Campaign 服务器进程用于检查查询完整性的线程在检查之间是否休眠。值为 FALSE 时,Campaign 服务器进程会不断检查查询完整性。ReaderLogSize 参数定义在从数据库读取数据时,Campaign 在日志文件中创建新条目的时间。每当从数据库读取的记录数达到此参数定义的数字的倍数时,都会在日志文件中写入日志条目。1000000(一百万条记录)SQLOnConnect 属性定义在每个数据库连接后,Campaign 立即执行的完整 SQL 语句。下面描述了可用于 SQLOnConnect 的标记。
此标记将替换为 IBM Unica Marketing 用户名,该用户名与为其创建临时表的流程图关联。
此标记将替换为正在运行流程图的用户的 Campaign 用户名。
下面描述了可用于 UOSQLOnConnect 的标记。
此标记将替换为 IBM Unica Marketing 用户名,该用户名与为其创建临时表的流程图关联。
此标记将替换为正在运行流程图的用户的 Campaign 用户名。
StringEncoding 属性指定数据库的字符编码。当 Campaign 从数据库检索数据时,数据从指定的编码转码为 Campaign (UTF-8) 的内部编码。同样,在 Campaign 向数据库发送查询时,字符数据将从 Campaign 的内部编码转码为 StringEncoding 属性中指定的编码。
![]()
如果使用 partitions > partition[n] > dataSources > [data_source_name] > ODBCUnicode 属性,那么此属性将设置为 UTF-8 或 WIDEUTF-8,否则会忽略 ODBCUnicode 属性的设置。对于 DB2 或 SQL Server,应使用代码页而不是 iconv 编码。对于 Teradata,应覆盖某些缺省行为。本部分描述为这些数据库的 StringEncoding 属性设置正确值。要为 SQL Server 数据库的 StringEncoding 属性确定正确值,请查找对应于服务器操作系统的区域设置的代码页。例如,要使用代码页 932(日语 Shift-JIS):请注意,Teradata 支持按列的字符编码,而 Campaign 仅支持按数据源的编码。由于 Teradata ODBC 驱动程序中的错误,UTF-8 无法与 Campaign 一起使用。Teradata 设置每次登录使用的缺省字符编码。您可以在 Windows 上的 ODBC 数据源配置中,或 UNIX 平台上的 odbc.ini 中,使用参数覆盖此行为,如下所示:Teradata 表的缺省编码为 LATIN。Teradata 的内置编码极少,但它支持用户定义的编码。StringEncoding 属性的缺省值为 ASCII。
![]()
对于许多涉及 UTF-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 属性指定自动附加到 Campaign 生成的每个 SQL 表达式的字符串(SuffixOnInsertSQL、SuffixOnSelectSQL、SuffixOnTempTableCreation、 SuffixOnUserTableCreation 或 SuffixOnUserBaseTableCreation 属性不涵盖这些表达式)。此属性仅适用于 Campaign 生成的 SQL,而不适用于选择过程中使用的“原始 SQL”表达式中的 SQL。下面描述了可用于 SuffixOnAllOtherSQL 的标记。
此标记将替换为 IBM Unica Marketing 用户名,该用户名与为其创建临时表的流程图关联。
此标记将替换为正在运行流程图的用户的 Campaign 用户名。
如果未定义此属性(缺省情况),那么 CREATE TABLE 命令将不变。
![]()
请参阅 DateFormat 属性描述中的表。SuffixOnInsertSQL 属性指定自动附加到 Campaign 生成的所有 INSERT SQL 表达式的字符串。此属性仅适用于 Campaign 生成的 SQL,而不适用于选择过程中使用的“原始 SQL”表达式中的 SQL。下面描述了可用于 SuffixOnInsertSQL 的标记。
此标记将替换为 IBM Unica Marketing 用户名,该用户名与为其创建临时表的流程图关联。
此标记将替换为正在运行流程图的用户的 Campaign 用户名。
SuffixOnSelectSQL 属性指定自动附加到 Campaign 生成的所有 SELECT SQL 表达式的字符串。此属性仅适用于 Campaign 生成的 SQL,而不适用于选择过程中使用的“原始 SQL”表达式中的 SQL。下面描述了可用于 SuffixOnSelectSQL 的标记。
此标记将替换为 IBM Unica Marketing 用户名,该用户名与为其创建临时表的流程图关联。
此标记将替换为正在运行流程图的用户的 Campaign 用户名。
使用 SuffixOnTempTableCreation 属性可指定创建临时表时,自动附加到 Campaign 生成的 SQL 表达式的字符串。此属性仅适用于 Campaign 生成的 SQL,而不适用于选择过程中使用的“原始 SQL”表达式中的 SQL。要使用此属性,AllowTempTables 属性必须设置为 TRUE。下面描述了可用于 SuffixOnTempTableCreation 的标记。
此标记将替换为 IBM Unica Marketing 用户名,该用户名与为其创建临时表的流程图关联。
此标记将替换为正在运行流程图的用户的 Campaign 用户名。
指定创建“分段”临时表时,自动附加到 Campaign 生成的 SQL 表达式的字符串。下面描述了可用于 SuffixOnSegmentTableCreation 的标记。
此标记将替换为 IBM Unica Marketing 用户名,该用户名与为其创建“分段”临时表的流程图关联。
此标记将替换为正在运行流程图的用户的 Campaign 用户名。
下面描述了可用于 SuffixOnSnapshotTableCreation 的标记。
此标记将替换为 IBM Unica Marketing 用户名,该用户名与为其创建快照表的流程图关联。
此标记将替换为正在运行流程图的用户的 Campaign 用户名。
下面描述了可用于 SuffixOnExtractTableCreation 的标记。
此标记将替换为 IBM Unica Marketing 用户名,该用户名与为其创建抽取表的流程图关联。
此标记将替换为正在运行流程图的用户的 Campaign 用户名。
使用 SuffixOnUserBaseTableCreation 属性可指定在用户创建基本表时(例如在抽取过程中),自动附加到 Campaign 生成的 SQL 表达式的字符串。此属性仅适用于 Campaign 生成的 SQL,而不适用于选择过程中使用的“原始 SQL”表达式中的 SQL。下面描述了可用于 SuffixOnUserBaseTableCreation 的标记。
此标记将替换为 IBM Unica Marketing 用户名,该用户名与为其创建临时表的流程图关联。
此标记将替换为正在运行流程图的用户的 Campaign 用户名。
使用 SuffixOnUserTableCreation 属性可指定在用户创建普通表时(例如在快照过程中),自动附加到 Campaign 生成的 SQL 表达式的字符串。此属性仅适用于 Campaign 生成的 SQL,而不适用于选择过程中使用的“原始 SQL”表达式中的 SQL。下面描述了可用于 SuffixOnUserTableCreation 的标记。
此标记将替换为 IBM Unica Marketing 用户名,该用户名与为其创建临时表的流程图关联。
指定用于 Campaign 系统表的模式。缺省值为空。此参数仅适用于 UA_SYSTEM_TABLES 数据源。除非 UA_SYSTEM_TABLES 数据源包含多个模式(例如,多个组使用的 Oracle 数据库),否则请将该值保留为空。(在此上下文中,“模式”表示 X.Y 格式的“限定”表名(例如 dbo.UA_Folder)的初始部分。在此格式中,X 是模式,而 Y 是非限定表名。此语法的该术语在 Campaign 支持的不同数据库系统间有所不同。)如果系统表数据库中存在多个模式,那么请将该值设置为在其中创建 Campaign 系统表的模式的名称。使用 TempTablePostExecutionSQL 属性可指定在用户数据源或系统表数据库中创建临时表后,Campaign 立即执行的完整 SQL 语句。为了能够在数据源中创建临时表,必须将 AllowTempTables 属性设置为 TRUE。
![]()
如果要将存储过程与 TempTablePostExecutionSQL 属性一起使用,请确保使用适合您的数据库的正确语法。Oracle 的以下示例调用存储过程并使用反斜杠对分号进行转义:begin dbms_stats.collect_table_stats()\; end\;下面描述了可用于 TempTablePostExecutionSQL 的标记。
此标记将替换为 IBM Unica Marketing 用户名,该用户名与为其创建临时表的流程图关联。
此标记将替换为正在运行流程图的用户的 Campaign 用户名。
![]()
如果要将存储过程与 UserTablePostExecutionSQL 属性一起使用,请确保使用适合您的数据库的正确语法。Oracle 的以下示例调用存储过程并使用反斜杠对分号进行转义:begin dbms_stats.collect_table_stats()\; end\;下面描述了可用于 UserTablePostExecutionSQL 的标记。
此标记将替换为 IBM Unica Marketing 用户名,该用户名与为其创建用户表的流程图关联。
此标记将替换为正在运行流程图的用户的 Campaign 用户名。
下面描述了可用于 SegmentTablePostExecutionSQL 的标记。
此标记将替换为 IBM Unica Marketing 用户名,该用户名与为其创建“分段”临时表的流程图关联。
此标记将替换为正在运行流程图的用户的 Campaign 用户名。
使用 SnapshotTablePostExecutionSQL 属性可指定在创建和填充快照表后,立即执行的一个或多个完整的 SQL 语句。下面描述了可用于 SnapshotTablePostExecutionSQL 的标记。
此标记将替换为 IBM Unica Marketing 用户名,该用户名与为其创建快照表的流程图关联。
此标记将替换为正在运行流程图的用户的 Campaign 用户名。
使用 ExtractTablePostExecutionSQL 属性可指定在创建和填充抽取表后,立即执行的一个或多个完整的 SQL 语句。下面描述了可用于 ExtractTablePostExecutionSQL 的标记。
此标记将替换为 IBM Unica Marketing 用户名,该用户名与为其创建抽取表的流程图关联。
此标记将替换为正在运行流程图的用户的 Campaign 用户名。
TempTablePrefix 属性指定自动加在 Campaign 创建的所有临时表名称前面的字符串。应使用此参数来帮助标识和管理临时表。还可以使用此属性让临时表在特定的位置创建。下面描述了可用于 TempTablePrefix 的标记。
此标记将替换为 IBM Unica Marketing 用户名,该用户名与为其创建临时表的流程图关联。
此标记将替换为正在运行流程图的用户的 Campaign 用户名。
![]()
TeradataDeleteBeforeDrop 参数仅适用于 Teradata 数据源。它指定在删除表之前是否删除记录。将该值设置为 TRUE 可在删除表之前从表中删除所有记录。
![]()
如果 Campaign 由于某种原因无法删除记录,那么它将不删除该表。将该值设置为 FALSE 将删除表而不必先删除所有记录。TruncateSQL 属性可与 DB2 数据源一起使用,并允许您指定用于截断表的备用 SQL。仅当 DeleteAsTruncate 设置为 TRUE 时,才应用此属性。当 DeleteAsTruncate 设置为 TRUE 时,此属性中的任意定制 SQL 用于截断表。不设置此属性时,Campaign 使用 TRUNCATE TABLE <TABLENAME> 语法。下面描述了可用于 TruncateSQL 的标记。
此标记将替换为 Campaign 截断的数据库表名。
分区 > 分区[n] > 数据源 > [data_source_name] > 类型属性指定此数据源的数据库类型。当 Campaign 在合并过程或分段过程中执行排除时,缺省情况下它使用“NOT EXISTS”语法,如下所示:如果启用 UseExceptForMerge(值设置为 YES)并且无法使用“NOT IN”(因为禁用了 UseNotInForMerge,或者因为受众级别包括多个字段且数据源不是 Oracle),那么该语法将更改为:实现 SQL MERGE 语法以提高跟踪过程的性能。对于 DB2、Oracle、SQL Server 2008 和 Teradata 12,UseMergeForTrack 属性可以设置为 TRUE。它还可以与其他支持 SQL MERGE 语句的数据库一起使用。UseNonANSIJoin 属性指定此数据源是否使用非 ANSI 连接语法(例如,对于第 8 版以前的 Oracle 版本和 Informix8)。
![]()
如果数据源类型设置为 Informix8,那么将忽略 UseNonANSIJoin 的值,并且始终使用适用于 Informix8 的非 ANSI 连接语法。
![]()
![]()
当 Campaign 在合并过程或分段过程中执行排除时,缺省情况下它使用“NOT EXISTS”语法,如下所示:利用 UseSQLToProfile 属性可以配置 Campaign 来将 SQL 查询 GROUP BY 提交到数据库以计算概要文件(使用“SELECT field, count(*) FROM table GROUP BY field”)而不是访存记录。
![]()
![]()
IBM Unica Marketing Platform
8
|
Copyright IBM Corporation 2011. All Rights Reserved.
|
For more information, see our support and community site: Customer Central
|
|