【问题标题】:How should I write my control file which is used to load text file data into Mysql table using sqlldr command?我应该如何编写用于使用 sqlldr 命令将文本文件数据加载到 Mysql 表中的控制文件?
【发布时间】:2021-05-20 01:20:43
【问题描述】:

我必须将文本文件中的数据加载到表中。我在文本文件中的数据由“,”分隔,每个项目都用双引号括起来(即"")。

例如,文本文件中的数据如下:

"1009","John","NY","USA"
"1010","Ron","AZ","USA"

我应该如何编写我的控制文件,以便在将数据加载到表中时不包含双引号(即"")。

【问题讨论】:

  • 展示您的初步工作、您如何读取数据以及您如何尝试解析它。此外,问题似乎是文本格式问题,而不是运行 sql/plsql 问题。如果是这样,请考虑更新标签以获得更好的响应。谢谢。
  • SQL*Loader 的意思是“Oracle”。你说你想将数据加载到“MySQL”表中。我可能错了,但是 - 该实用程序将数据加载到 Oracle,而不是 MySQL。那么,您真正使用和拥有什么?

标签: oracle etl sql-loader


【解决方案1】:

假设表结构如下:

create table someTable(
    colA number,
    colB varchar2(100),
    colC varchar2(100),
    colD varchar2(100)
)

您可以将 SQLLoader 与控制文件一起使用,例如:

OPTIONS(skip=0) 
load data
infile "data.txt"
append into TABLE someTable
fields
terminated by ','
enclosed by '"'
(
  colA "to_number(:colA)", /* here you can use a format for numbers, if any */
  colB,
  colC,
  colD
)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-26
    • 1970-01-01
    相关资源
    最近更新 更多