gpt4 book ai didi

database - 在不指定列详细信息的情况下从命令行将 CSV 文件加载到 Oracle 数据库的新表中的简便方法

转载 作者:行者123 更新时间:2023-12-05 02:50:37 25 4
gpt4 key购买 nike

我经常想将 CSV 文件快速加载到 Oracle 数据库中。 CSV (Unicode) 在装有 Oracle InstantClient 19.5 版的机器上,Oracle 数据库是 18c 版。

我正在寻找一个命令行工具,它可以在不指定列结构的情况下上传行

我知道我可以将 sqlldr.ctl 文件一起使用,但是我需要定义列类型等。我对一个工具很感兴趣 从 CSV 中的数据中找出列属性本身(或对所有列使用通用默认值)。

我必须摄取的 CSV 始终包含一个标题行,相关工具可以使用该标题行来确定表中的适当列。

最佳答案

从 Oracle 12c 开始,您可以在 express 模式下使用 sqlldr,因此您不需要任何控制文件。

In Oracle Database 12c onwards, SQLLoader has a new feature calledexpress mode that makes loading CSV files faster and easier. Withexpress mode, there is no need to write a control file for most CSVfiles you load. Instead, you can load the CSV file with just a fewparameters on the SQLLoader command line.

一个例子

假设我有一张这样的 table

CREATE TABLE EMP
(EMPNO number(4) not null,
ENAME varchar2(10),
HIREDATE date,
DEPTNO number(2));

然后是一个看起来像这样的 csv 文件

7782,Clark,09-Jun-81,10
7839,King,17-Nov-81,12

我可以在快速模式下使用 sqlldr :

sqlldr userid=xxx table=emp

您可以在本白皮书中阅读有关快速模式的更多信息

Express Mode in SQLLDR

关于database - 在不指定列详细信息的情况下从命令行将 CSV 文件加载到 Oracle 数据库的新表中的简便方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63592133/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com