Oracle 11g -- 使用PLSQL進行excel、csv、txt文件的數據導入


Oracle 11g -- 使用PLSQL進行excel、csv、txt文件的數據導入

1、導入 txt/csv 文件 (使用 Text Importer)

創建表結構:

create table student(
    id int,
    name varchar(255),
    birthday varchar(255),
    sex varchar(255)
)

創建表數據-student.txt(分隔符為\t):

01 趙雷 1990-01-01

02 錢電 1990-12-21

03 孫風 1990-05-20

04 李雲 1990-08-06

05 周梅 1991-12-01

06 吳蘭 1992-03-01

07 鄭竹 1989-07-01

08 王菊 1990-01-20

 

使用Text Importer導入工具:

 

 

 

 

然后點擊下方的import進行導入。

遇到問題:

解決方法:

原始數據的日期是用”-分隔開的,並不是默認的日期數字的形式,這里可以不使用to_date()進行轉換,保留原來的格式即可。

再次import即可導入成功,查詢數據如下:

注:如果有主鍵約束會自動覆蓋掉相同鍵的記錄

2、導入excel文件(excelcsv

准備的excel文件如下:

清空Oracle中表student的數據:

 

truncate table student;

 

1)嘗試導入一:使用ODBC Importer導入工具

User/System DSN中沒有選項,並且出現問題:

解決過程(fail了):

自己電腦是64位系統,而ODBC數據源管理程序是32位的,

需要手動添加新excel數據源DSN驅動:

運行C:\Windows\SysWOW64\odbcad32.exe

點擊添加,選擇如下圖所示Microsoft Excel Driver*.xls

 

 

 

 

但是重啟PLSQL或是服務之后還是識別不到新增的驅動。

2)嘗試導入二(fail):使用WPSexcel直接轉txt

無論轉換成 Unicode文本格式 還是 文本文件(制表符分隔)格式的文本文件都識別不出。

3)嘗試導入三:使用WPSexcelcsv

excel文件另存為csv文件后即可直接使用Text Importer轉換了。

4)期間遇到的問題:

導入時發現Text Importer報以下警告:

並且可以發現導入后數據全部為null,也就是說Oracle11g不支持UTF16格式。

 

解決方法參考http://www.myexceptions.net/program/1047444.html

 

  • 打開直接轉完的txt文件,復制其內容到新的txt文件中即可

 

  • Java代碼將UTF16轉成UTF8格式

 

 

 

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM