回答
要使用SQLLOADER加载CSV文件将需要执行以下操作:
(a)中的CSV文件 (b)中SQLLOADER控制文件(也称为CTL文件) (c)中SQLLOADER命令(a)中使用(b)中的CTL文件加载CSV文件。
CSV文件,你已经有了。在这个例子中,文件名是temp.csv包含两列
A,100
B,200
C,300
D,400
现在,你需要创建一个控制描述文件和表将其加载到,以及如何加载它。在本例中,名为temp.ctl的控制文件名和要加载到的表为TEMP_TABLE,其中包含两列,COLUMN_1为VARCHAR2(2),COLUMN_2为NUMBER。该temp.ctl看起来像下面
LOAD DATA
APPEND
INTO TEMP_TABLE
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
TRAILING NULLCOLS
(
COLUMN_1 CHAR,
COLUMN_2 Integer EXTERNAL
)
大文件:
- SQLLOADER
- 外部表
小档案:
- 自己的分析
谢谢,但不是最终用户可以使用SQL * Loader来查看,因此希望允许他们从Oracle ApEx中选择文件,从PC上载,然后解析并加载到表中。将单列csv解析到oracle表中的最佳方法是什么?谢谢。 – tonyf 2010-11-22 09:59:07
我和你有同样的问题。 你可能已经找到了解决方案,但我按照这个链接中的方法 http://forums.oracle.com/forums/thread.jspa?threadID=545565 它适用于我。他们使用外部表格。列的最大数量是50.
其他选项是http://avdeo.com/2008/05/21/uploading-excel-sheet-using-oracle-application-express-apex/ 但是,我发现如果您的CSV包含一些特殊字符,它不会正常运行。
希望这有助于某种方式。
你可以用awk来完成。
下面是如何从.csv数据填充表的示例。
SQL> create table MY_TABLE(a varchar2(100), b varchar2(100));
[[email protected] ~]$ tail Some_Input_CSV_file
Some Data A 1,Some Data B 1
Some Data A 2,Some Data B 2
Some Data A 3,Some Data B 3
Some Data A 4,Some Data B 4
Some Data A 5,Some Data B 5
Some Data A 6,Some Data B 6
Some Data A 7,Some Data B 7
Some Data A 8,Some Data B 8
Some Data A 9,Some Data B 9
Some Data A 10,Some Data B 10
[[email protected] ~]$
[[email protected] ~]$ cat Some_Input_CSV_file | awk -F, ‘ { printf(“insert into MY_TABLE values(trim(\x27%s\x27), trim(\x27%s\x27));\n”, $1, $2); } ‘ > RunMe.sql
[[email protected] ~]$ tail RunMe.sql
insert into MY_TABLE values(trim(‘Some Data A 1′), trim(‘Some Data B 1′));
insert into MY_TABLE values(trim(‘Some Data A 2′), trim(‘Some Data B 2′));
insert into MY_TABLE values(trim(‘Some Data A 3′), trim(‘Some Data B 3′));
insert into MY_TABLE values(trim(‘Some Data A 4′), trim(‘Some Data B 4′));
insert into MY_TABLE values(trim(‘Some Data A 5′), trim(‘Some Data B 5′));
insert into MY_TABLE values(trim(‘Some Data A 6′), trim(‘Some Data B 6′));
insert into MY_TABLE values(trim(‘Some Data A 7′), trim(‘Some Data B 7′));
insert into MY_TABLE values(trim(‘Some Data A 8′), trim(‘Some Data B 8′));
insert into MY_TABLE values(trim(‘Some Data A 9′), trim(‘Some Data B 9′));
insert into MY_TABLE values(trim(‘Some Data A 10′), trim(‘Some Data B 10′));
[[email protected] ~]$
[[email protected] ~]$ sqlplus myuser/[email protected]
SQL> @RunMe.sql
…
1 row created.
1 row created.
1 row created.
1 row created.
1 row created.
SQL> commit;
Commit complete.
SQL> exit
- 1. 将csv加载到Oracle中的表中
- 2. 如何将CSV数据加载到比csv文件列多的Oracle表中?
- 3. 加载csv文件到oracle数据库
- 4. 将csv文件加载到Hive表
- 5. Oracle SQL从CLOB中提取CSV文件并加载到表中
- 6. 将csv文件加载到jQuery中?
- 7. 将CSV文件加载到DataGrid中
- 8. 将数据从文本文件加载到oracle中的表中
- 9. 在MYSQL中将多个CSV文件加载到单表中
- 10. 将CSV文件中的532列加载到DB2表中
- 11. 将CSV文件中的内容加载到PostgreSQL表中
- 12. RPostgreSQL将多个CSV文件加载到Postgresql表中
- 13. 将xml文件加载到oracle表中时出现空行
- 14. DB将CSV加载到多个表中
- 15. 将CSV数据加载到PostgreSQL表中
- 16. 如何将csv文件上传到Oracle
- 17. 加载csv文件数据到oracle数据库
- 18. 将网站托管的CSV数据加载到Oracle中?
- 19. 将数据从CSV文件加载到D3中的lineWithFocusChart中
- 20. 将.txt文件中的值转换并加载到Oracle表| unix |甲骨文
- 21. 在csv文件中导出oracle表
- 22. PL/SQL将Oracle表格复制到一个csv文件
- 23. 将CSV文件加载到SQL Server数据库中
- 24. 使用sklearn将.csv文件加载到Python中
- 25. 如何将ppt和csv文件加载到UIWebview中
- 26. 使用脚本将.csv文件加载到MySQL数据库中
- 27. 将多个CSV文件加载到MySQL中
- 28. 使用SSIS技术将.csv文件加载到SQL Server中
- 29. 如何将csv文件加载到voltDB中?
- 30. 如何将一个大的CSV文件加载到WSO2中ML
的可能重复甲骨文:用sqlplus导入CSV文件(http://stackoverflow.com/questions/6198863/oracle-import-csv-file-using-sqlplus) – Ben 2014-06-16 10:56:54