更新时间:2025-10-31 GMT+08:00

Teradata Perl迁移

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

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

  • 参数值不区分大小写。
  • 用户可以更改下表中db-bteq-tag-name和db-tdsql-tag-name的参数值。
表1 表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
$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
  $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

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

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

示例:

1
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
my $rows1=$conn1->execute_query("sel ${selectclause} from ${databasename}.${tablename};          ");

迁移为:

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

true

migrate-executequery =true