【问题标题】:Load .tsv with SQL loader使用 SQL 加载器加载 .tsv
【发布时间】:2020-04-30 02:28:00
【问题描述】:

我正在尝试加载具有可变长度和空白的 tsv 文件,但我无法加载它。

我的 TSV 文件有:

code   name   information surname   
1234   Peter              Peter
1111   Carl   exampleexample example Jhon

我正在尝试:

OPTIONS (SKIP=1)
LOAD DATA
    INFILE 'EXAMPLE.TSV'
    INTO TABLE PERSON
    FIELDS TERMINATED BY ','
    OPTIONALLY ENCLOSED BY '"'  
    (
     CODE,
     NAME,
     INFORMATION,
     SURNAME
     )

【问题讨论】:

  • FIELDS TERMINATED BY ',' 不适用于制表符分隔的文件...

标签: oracle oracle11g sql-loader


【解决方案1】:

这是一个例子。

SQL> desc person
 Name                                      Null?    Type
 ----------------------------------------- -------- ----------------------------
 CODE                                               NUMBER
 NAME                                               VARCHAR2(10)
 INFORMATION                                        VARCHAR2(30)
 SURNAME                                            VARCHAR2(10)

SQL>

控制文件;注意fields terminated by x'09'。为简单起见,我将示例数据包含在控制文件本身中。

options (skip=1)
load data 
infile *
replace
into table person
fields terminated by x'09'
( 
code,
name,
information,
surname
)

begindata
code    name    information surname
1234    Peter       Peter
1111    Carl    example exa John

测试:

SQL> $sqlldr scott/tiger control=test18.ctl log=test18.log

SQL*Loader: Release 11.2.0.2.0 - Production on Sri Tra 29 20:26:06 2020

Copyright (c) 1982, 2009, Oracle and/or its affiliates.  All rights reserved.

Commit point reached - logical record count 2

SQL> select * From person;

      CODE NAME       INFORMATION                    SURNAME
---------- ---------- ------------------------------ ----------
      1234 Peter                                     Peter
      1111 Carl       example exa                    John

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-07
    • 2020-07-24
    • 1970-01-01
    • 2015-08-05
    • 1970-01-01
    • 2014-09-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多