Oracle 外部加载器——加载双引号

问题描述

我有外部表,需要按如下方式插入数据。但是,当我在加载器列上使用可选的 '"' 跳过引号时,称为变量未读取,因为在该列内得到了引号。(整个表为空)

有人可以给我建议吗?

我可以选择使用 FIELDS TERMINATED BY '"~~~"' 并将数据读取到表中并进行数据修改。但是有没有什么办法可以在外部表级别处理这个问题?

输入数据

"apple"~~~"05-APR-2021 13.42.56.480000"~~~"Add"~~~"host"~~~"["Yes"]"~~~"Filter"
"Orange"~~~"05-APR-2021 19.57.06.084000"~~~"Add"~~~"cow: purpose"~~~"["A","catch","Other","A and admin","A and other","A and othe"~~~"Chart"

预期的结果

|姓名 |时间戳 |行动 |说明 |变量 |选项|
+-------+------------+--------+--------------+---- -----------+--------+
|苹果| 05-APR-2021 |添加 |主机| [“是”] |过滤器|
|橙色 | 05-APR-2021 |添加 |牛:目的| ["A","A and othe" |图表|
+-------+------------+--------+--------------+---- -----------+--------+

用于读取表格的代码,没有读取表格下方的数据

CREATE TABLE MyTable_XT
(
        Name VARCHAR2(36 CHAR),TIMESTAMP       TIMESTAMP(6),ACTION  VARCHAR2(50 CHAR),Description VARCHAR2(100 CHAR),Variables VARCHAR2(100 CHAR),Option VARCHAR2(50 CHAR)

)
ORGANIZATION EXTERNAL
(TYPE ORACLE_LOADER
DEFAULT DIRECTORY def_dir1
ACCESS ParaMETERS
(
        records delimited by newline skip 1
        data is little endian
        string sizes are in characters
       FIELDS TERMINATED BY '"~~~"'
        optionally enclosed by '"'
        missing field values are null
reject rows with all null fields (
    Name CHAR(36) NULLIF "Name " =' ',"TIMESTAMP" CHAR DATE_FORMAT TIMESTAMP MASK "DD-MON-YYYY","ACTION" CHAR(50) NULLIF "ACTION" =' ',"Description " CHAR(100) NULLIF "Description " =' ',"VARIABLES" CHAR(100) NULLIF "VARIABLES" =' ',"Option" CHAR(50) NULLIF "Option" =' '

)
)
LOCATION ('mytest.txt'))
REJECT LIMIT UNLIMITED;

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)