Skip to content

TABLDR

功能

TABLDR是文件导入命令,和SQLLDR一样可以将控制台工具或者其他工具导出的结果集文件导入到数据库的表中,TABLDR导入的效率高于SQLLDR。

语法格式

TABLDR TABLE=[schema_name.]tab_name DATAFILE=filepath FT=ft RT=rt [LOG=logpath] [ERRLOG=errlogpath] [PARSE_PARE=parse_num] [INS_PARE=ins_num] [MODE=replace|append]  [CSV_DEAL=true|false] [LAST_FT=true|false]

参数说明

  • TABLDR:导入命令标识符。
  • TABLE:导入的表。
    • schema_name.:可选,模式名。
    • tab_name:目标表名。
  • DATAFILE:数据文件的路径+文件名。
  • FT:列分隔符,如|,等。
  • RT:行结尾标识符,可设为X'0a'X'0d0a'
    • X'0a':行结尾换行为\n
    • X'0d0a':行结尾换行为\r\n
  • LOG:可选,TABLDR运行日志记载路径。
  • ERRLOG:可选,TABLDR错误信息日志记载路径。
  • PARSE_PARE:可选,服务端解析数据线程数,从1开始,默认为1。
  • INS_PARE:可选,服务端插入数据线程数,从1开始,默认为1。
  • MODE:可选,导入方式,可设为appendreplace,默认为append
    • append:追加导入。
    • replace:覆盖导入。
  • CSV_DEAL:可选,格式化CSV文件,去除单元格开头双引号,可设为truefalse,默认为false。若数据文件不为CSV格式时,无需指定该参数。
  • LAST_FT:可选,每行最后一列数据是否自带列分标志位,可设为truefalse,默认为false。示例:数据表有A、B、C共3个列,此时文件数据为1、2、3,则LAST_FT=true;若文件数据为1、2,则LAST_FT=false

    说明:

    控制台V1.4.6版本开始支持LAST_FT参数。

示例

先将查询结果集导出成文件,再将文件导入到数据表中。

sql
SQL> tabldr table=NATION datafile=D:/NATION.TXT  ft='|' rt=X'0d0a' log=./load.log errlog=./loaderr.log  mode=APPEND parse_para=8 ins_para=8

异常处理

数据库新增参数stream_import_error用于控制TABLDR导入异常数据时的处理模式,用户可根据个人需求自行设置该参数。

  • 0:严格报错,数据库解析时出现异常连接断开,控制台工具退出停止导入。
  • 1:跳过错误行并记载日志,数据库解析时出现异常则忽略异常数据并将异常数据记录至TRACE.LOG中并继续导入后续数据。
  • 2:跳过错误行不记载日志,数据库解析时出现异常则忽略异常数据且不记载日志继续导入后续数据。

注意:

日志记载有长度限制则可能导致原始数据不会被完全记载。

支持的行数据异常:

  • 分隔符不一致
  • 字段数据中包含分隔符
  • 类型转换错误