Oracle導入外部文件


一.使用PL/SQL的導入工具導入excel文件
1.打開pl/sql,點擊菜單欄中的T00LS->ODBC Imtorper,打開ODBC Importer選項框;
2.在Data fromODBC頁中選擇需要導入的文件的格式,選擇ExcelFiles.輸入用戶名密碼。然后點擊Connect;
3.在跳出的選擇工作簿對話框,選擇所要導入的Excel文件,點擊確定;
在出現的Table/Query中的Import Table中單擊表名,可以在下方的ResultPreview中看到所要導入的表格的內容;
4.點擊Date to Oracle按鈕,打開Date to Oracle選項框,選則你要導入的表名,
本次導入表為SFISM4.U_RF_ID_DATA,在Owner下拉菜單中選SFISM4,在Table下拉菜單選擇U_RF_ID_DATA,在Fields選則你要導入的字段,本次導入的字段是SERIAL_NUMBER,點擊Import將成批數據導入Oracle數據庫中,這樣就完成了導入數據。

二.使用sqlldr導入txt文件
1.寫控制文件
load data
infile 'C:/Users/Administrator/Desktop/ctl.txt'
append into table test
fields terminated by '|'
(
SEQ,
NAME,
NAME_BUSI,
NAME_ACCOUNT,
ACCOUNT,
BANK_NAME
)

2.在dos窗口輸入命令
C:\Users\Administrator>sqlldr userid=username/passwd@sd control=C:\Users\Administrator\Desktop\sql.ctl,
(注:其中userid=用戶名/用戶密碼@數據庫實例的本地服務命名。)
在一開始運行這句話的時候,報錯:
SQL*Loader-704: 內部錯誤: ulconnect: OCIServerAttach [0]
ORA-12154: TNS: 無法解析指定的連接標識符
后來發現有兩個tnsnames.ora文件,一個屬於oralceClient的,一個屬於oracleDataBase的,平時的數據庫實例本地配置都是寫在oralceClient
下的tnsnames.ora中,於是將oralceClient下的tnsnames.ora內容復制到oracleDataBase下的tnsnames.ora中,上述命令便運行成功了。
雖然導入成功了,但是導入的數據不完整,且中文亂碼。運行select * from nls_database_parameters和select * from nls_instance_parameters
發現nls_database_parameters中的字符集為ZHS16GBK,而導入的txt文件字符集為utf8,於是在Notepad++只能將txt文件轉換為ANSI(GBK)編碼后,
即導入正確。

附:ANSI編碼
為使計算機支持更多語言,通常使用 0x80~0xFFFF 范圍的 2 個字節來表示 1 個字符。比如:漢字 '中' 在
中文操作系統中,使用 [0xD6,0xD0] 這兩個字節存儲。
不同的國家和地區制定了不同的標准,由此產生了 GB2312、GBK、GB18030、Big5、Shift_JIS 等各自的編碼標准。
這些使用多個字節來代表一個字符的各種漢字延伸編碼方式,稱為 ANSI 編碼。
在簡體中文Windows操作系統中,ANSI 編碼代表 GBK 編碼;在繁體中文Windows操作系統中,ANSI編碼代表Big5;
在日文Windows操作系統中,ANSI 編碼代表 Shift_JIS 編碼。
不同 ANSI 編碼之間互不兼容,當信息在國際間交流時,無法將屬於兩種語言的文字,存儲在同一段 ANSI 編碼的文本中。
ANSI編碼表示英文字符時用一個字節,表示中文用兩個或四個字節。


免責聲明!

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



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