更新时间:2023-03-17 GMT+08:00

Teradata Perl配置

设置Teradata Perl配置参数可在迁移Teradata Perl数据库脚本时自定义迁移工具的行为。

打开config文件夹中的perl-migration.properties文件,并根据实际需要设置表1中的参数。

  • 参数值不区分大小写。
  • 用户可以更改下表中db-bteq-tag-name和db-tdsql-tag-name的参数值。
表1 perl-migration.properties文件中的配置参数

参数

说明

取值范围

默认值

样例

  • db-bteq-tag-name

指定要在Perl文件中处理的脚本。

BTEQ:仅处理BTEQ标记的脚本。

  • bteq

bteq

db-bteq-tag-name=bteq

  • db-tdsql-tag-name

指定待处理的脚本。

SQL_LANG:仅处理SQL_LANG标记的脚本。

sql_lang

sql_lang

db-tdsql-tag-name=sql_lang

  • add-timing-on

指定是否通过添加脚本来计算执行时间。

如果启用,则为每个输入文件添加add timing脚本。

  • true
  • false

false

add-timing-on=true

  • remove-intermediate-files

指定在迁移完成后是否删除工具创建的中间SQL文件。

该文件包含SQL文件中的BTEQ和SQL_LANG语法,作为语法迁移工具的输入文件。

设为true,表示删除中间文件。

设为false,表示不删除中间文件。

  • true
  • false

true

remove-intermediate-files=true

  • migrate-variables

指定是否迁移分配给Perl变量的SQL命令。

Perl文件可以包含分配了SQL命令的Perl变量,通过PREPARE和EXECUTE语句在Perl中执行。该工具还可以从Perl变量提取SQL命令进行迁移。

设为true,表示对分配给Perl变量的SQL命令进行迁移。

设为false,表示在迁移时跳过该Perl变量。

示例1:

当参数设为true时, 将

1
$V_SQL = "CT X1(C1 INT,C2 CHAR(30))";

迁移为:

1
CREATE TABLE X1(C1 INT,C2 CHAR(30));

示例2:

输入

1
2
3
4
$onesql ="SELECT trim(tablename) from dbc.tables       
           WHERE databasename = '${AUTO_DQDB}' and tablename like 'V_%' 
           order by 1;";
  $sth_rundq = $dbh->execute_query($onesql);

输出

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
  $onesql ="SELECT
          TRIM( tablename )
     FROM
          dbc.tables
     WHERE
          databasename = '${AUTO_DQDB}'
          AND tablename LIKE 'V_%'
     ORDER BY
          1
;

";
  $sth_rundq = $dbh->execute_query($onesql);
  • true
  • false

true

migrate-variables=true

  • logging-level

指定Perl迁移日志的级别。

设为error,表示仅记录错误日志。

设为warning,表示记录错误及告警日志。

设为info,表示记录错误、告警和活动日志。该级别包含所有日志信息。

  • error
  • warning
  • info

info

logging-level=info

  • log-file-count

指定保留日志文件的最大数量。文件总数包括正在使用的日志文件和已归档的日志文件。

如果新归档的日志文件超过了文件数上限,则会先删除最早保留的文件,直到成功保存指定数量的文件。

3 - 10

5

log-file-count=10

  • log-file-size

指定日志文件的最高上限。

日志文件大小达到指定上限时,给文件名添加时间戳并进行归档。

示例:

perlDSC_2018-07-08_16_12_08.log

归档后,生成新的日志文件perlDSC.log。

1MB - 10MB

5MB

log-file-size=10MB

  • migrate-executequery

指定是否迁移包含SQL内容的execute_query。

设为true,表示迁移。

设为false,表示不迁移。

示例:

设为true时,将

1
2
my $rows1=$conn1->execute_query("sel ${selectclause} from ${databasename}.${tablename};
         ");

迁移为:

1
2
3
4
5
my $rows1=$conn1->execute_query("SELECT
          ${selectclause}
     FROM
          ${databasename}.${tablename}
;");
  • true
  • false

true

migrate-executequery =true