Oracle:导入CSV文件

cr8*_*ith 26 csv oracle import sqlplus sql-loader

我一直在寻找一段时间,但似乎无法找到答案所以这里...

我有一个CSV文件,我想导入Oracle(9i/10i)中的表.

后来我打算用这个表作为另一种用途的查找.

这实际上是一种变通方法我工作以来的事实,使用IN子句多于1000个值查询是不可能的.

如何使用SQLPLUS完成?

谢谢你的时间!:)

Abi*_*Abi 22

SQL Loader有助于将csv文件加载到表中:SQL*Loader

如果你只想要sqlplus,那就有点复杂了.您需要找到sqlloader脚本和csv文件,然后运行sqlldr命令.


Cla*_*key 22

您可以使用的另一个解决方案是SQL Developer.

有了它,您就可以从csv文件导入(其他分隔文件可用).

只需打开表格视图,然后:

  • 选择行动
  • 导入数据
  • 找到你的文件
  • 选择你的选择.

您可以选择让SQL Developer为您执行插入操作,创建sql插入脚本,或者为SQL Loader脚本创建数据(我自己没有尝试过此选项).

当然,如果您只能使用命令行,那么所有这些都没有实际意义,但如果您能够在本地使用SQL Developer进行测试,则可以始终部署生成的插入脚本(例如).

只需在2个已经非常好的答案中添加另一个选项.


arj*_*aur 6

SQL 加载程序是要走的路。我最近从一个 csv 文件加载了我的表格,这个概念的新手,想分享一个例子。

LOAD DATA
    infile '/ipoapplication/utl_file/LBR_HE_Mar16.csv'
    REPLACE
    INTO TABLE LOAN_BALANCE_MASTER_INT
    fields terminated by ',' optionally enclosed by '"'
    (
    ACCOUNT_NO,
    CUSTOMER_NAME,
    LIMIT,
    REGION

    )
Run Code Online (Sandbox Code Playgroud)

将控制文件和 csv 放在服务器上的同一位置。找到 sqlldr exe 并调用它。

sqlldr userid/passwd@DBname control= 例如:sqlldr abc/xyz@ora control=load.ctl

希望能帮助到你。


TTT*_*TTT 5

另一种解决方案是使用外部表:http://www.orafaq.com/node/848

当你必须非常快速地进行这种导入时使用它.