回答
要使用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. 將xml文件加載到oracle表
- 6. Oracle SQL從CLOB中提取CSV文件並加載到表中
- 7. 將csv文件加載到jQuery中?
- 8. 將CSV文件加載到MySQL Workbench中
- 9. 將CSV文件加載到DataGrid中
- 10. 將大型CSV文件加載到Oracle表中的技術選擇
- 11. 從命令行將數據從csv文件加載到oracle表中
- 12. 將數據從文本文件加載到oracle中的表中
- 13. 將CSV文件中的532列加載到DB2表中
- 14. 將CSV文件中的內容加載到PostgreSQL表中
- 15. 在MYSQL中將多個CSV文件加載到單表中
- 16. RPostgreSQL將多個CSV文件加載到Postgresql表中
- 17. 使用javascript將CSV文件加載到HTML表格中
- 18. 如何將csv文件加載到表中
- 19. 將CSV文件加載到數據庫表中?
- 20. 將xml文件加載到oracle表中時出現空行
- 21. 將CSV數據加載到PostgreSQL表中
- 22. DB將CSV加載到多個表中
- 23. 如何將csv文件上傳到Oracle
- 24. 加載csv文件數據到oracle數據庫
- 25. 無法將5gb csv文件從雲存儲加載到bigquery表
- 26. 加載csv文件
- 27. 將網站託管的CSV數據加載到Oracle中?
- 28. PostgreSQL加載大型csv文件到表中時遇到問題
- 29. 將CSV文件中的數據加載到PostgreSQL數據庫中
- 30. 將數據從CSV文件加載到D3中的lineWithFocusChart中
的可能重複甲骨文:用sqlplus導入CSV文件(http://stackoverflow.com/questions/6198863/oracle-import-csv-file-using-sqlplus) – Ben 2014-06-16 10:56:54