【oracle 多種形式的外部表匯入、匯出】實驗
昨天,接到使用者請求,能否將cache庫匯出excel文件、txt文件的資料匯入到oracle庫,之後將oracle匯入的資料匯出dmp檔案,以前操作也做過,時間長了,也忘記了,今天我們重新來做一遍。
本次選用plsql developer工具來,版本:PL/SQL Developer Version 11.0.3.1770
以上描述其實就是將外部表如何匯入到oracle資料庫中,實現該目標有多種方法:
1、使用 PL/SQL Developer工具將execl、txt原始檔匯入到資料庫,最後透過exp匯出的方式匯出外部表(dmp格式)
2、採用oracle自帶的sql load方式匯入外部表,在透過exp方式匯出外部表資料
第一種 PL/SQL Developer:
(Oracle Release 11.2.0.4.0)
excel匯入到oracle
1、編輯好excel資料
2、配置好本地odbc
3、配置plsql中工具,odbc匯入器
4、匯入資料
SQL> select count(*) from it;
COUNT(*)
----------
25
txt檔案匯入到oracle
1、編輯txt檔案
王五,16,安徽省合肥市
王六,16,安徽省合肥市
王七,16,安徽省合肥市
王八,16,安徽省合肥市
王九,16,安徽省合肥市
王十,16,安徽省合肥市
王十一,16,安徽省合肥市
2、使用plsql匯入oracle
工具-文字匯入器
3、設定欄位對應關係
4、匯入資料
SQL> select * from it;
NAME AGE ADDRESS
-------------------- ---------- ----------------------------------------------------------------------------------------------------
王五 16 安徽省合肥市
王六 16 安徽省合肥市
王七 16 安徽省合肥市
王八 16 安徽省合肥市
王九 16 安徽省合肥市
王十 16 安徽省合肥市
王十一 16 安徽省合肥市
將匯入到資料的表匯出dmp檔案
[oracle@db1 ~]$ exp scott/oracle@orcl file=scott_it.dmp log=scott_it.log tables=it
Export: Release 11.2.0.4.0 - Production on 星期三 8月 17 15:56:00 2022
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
Connected to: Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
Export done in ZHS16GBK character set and AL16UTF16 NCHAR character set
About to export specified tables via Conventional Path ...
. . exporting table IT 7 rows exported
Export terminated successfully without warnings.
[oracle@db1 ~]$ ls -lrth scott*
-rw-r--r-- 1 oracle oinstall 427 Aug 17 15:56 scott_it.log
-rw-r--r-- 1 oracle oinstall 16K Aug 17 15:56 scott_it.dmp
第二種,使用sqlload方式匯入資料庫
excel資料匯入資料庫:
1、建表
create table it (name varchar2(20),age number(3),adress varchar2(20));
2、建立.ctl檔案
[oracle@db1 ~]$ cat import.ctl
load data
infile 'it12.csv'
append into table "IT"
fields terminated by ','
(
NAME
,
AGE
,
ADDRESS
)
3、上傳 it12.csv檔案(excel檔案儲存是採用另存為帶分隔符的.csv檔案)
4、透過sqlload命令匯入資料庫
sqlldr userid=scott/oracle control=/home/oracle/import.ctl
[oracle@db1 ~]$ sqlldr userid=scott/oracle control=/home/oracle/import.ctl
SQL*Loader: Release 11.2.0.4.0 - Production on 星期三 8月 17 19:25:02 2022
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
Commit point reached - logical record count 48
資料匯入完成,檢查資料完整性。
SQL> select count(*) from it;
COUNT(*)
----------
48
txt資料匯入資料庫:
1、建表
create table it (name varchar2(20),age number(3),adress varchar2(20));
2、建立.ctl檔案
[oracle@db1 ~]$ cat import.ctl
load data
infile 'data.txt'
append into table "IT"
fields terminated by ','
(
NAME
,
AGE
,
ADDRESS
)
3、文字檔案格式資料
[oracle@db1 ~]$ cat data.txt
王五,16,安徽省合肥市
王六,16,安徽省合肥市
王七,16,安徽省合肥市
王八,16,安徽省合肥市
王九,16,安徽省合肥市
王十,16,安徽省合肥市
王十一,16,安徽省合肥市
4、透過sqlload工具匯入資料到表
[oracle@db1 ~]$ vi import.ctl
[oracle@db1 ~]$ sqlldr userid=scott/oracle control=/home/oracle/import.ctl
SQL*Loader: Release 11.2.0.4.0 - Production on 星期三 8月 17 19:43:23 2022
Copyright (c) 1982, 2011, Oracle and/or its affiliates. All rights reserved.
Commit point reached - logical record count 6
Commit point reached - logical record count 7
5、檢查資料
SQL> select count(*) from it;
COUNT(*)
----------
7
備註:當我們匯入excel或txt檔案時,檔案大小過大,如上百兆甚至更大時,在匯入到目標資料庫時,新建使用者或已有使用者,
新建表空間,設定為預設表空間等,以此來保證匯入的資料表不影響資料庫的正常執行。
當我們匯出表時,使用exp或expdp方式匯出資料庫的某張表就可以了。
總結:外部表匯入是否成功,不管是plsql或是sqlload方式,難點集中在資料表格式,欄位長度及型別設定上,如果上面都設定
沒有問題,如果匯入出現亂碼的情況,此時需要考慮字符集的問題了。此處列入幾個例子,屬於拋轉引玉了,實際情況可能出現
其他問題,針對出現的問題,做具體的解決了。
Yicheng16
22.08.16
-- The End --
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69963467/viewspace-2910554/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- fdw批次匯入外部表
- Oracle 資料匯入匯出Oracle
- Oracle資料匯入匯出Oracle
- Oracle 12c expdp和impdp匯出匯入表Oracle
- Oracle資料庫匯入匯出。imp匯入命令和exp匯出命令Oracle資料庫
- Oracle資料泵的匯入和匯出Oracle
- oracle資料匯出匯入(exp/imp)Oracle
- Oracle資料泵匯出匯入(expdp/impdp)Oracle
- Java中的匯入匯出(自身驗證版)Java
- Java之POI操作Excel表-匯入匯出JavaExcel
- ClickHouse 資料表匯出和匯入(qbit)
- Vue框架下實現匯入匯出Excel、匯出PDFVue框架Excel
- MYSQL資料匯出備份、匯入的幾種方式MySql
- Activity 流程模型匯入匯出-activity流程模型匯入匯出模型
- 【SQL】Oracle BLOB 批量匯入匯出圖片語句SQLOracle
- oracle單表按時間匯出Oracle
- Vue + Element 實現匯入匯出ExcelVueExcel
- oracle匯入dmp檔案的2種方法Oracle
- Vue+Element 實現excel的匯入匯出VueExcel
- Mysql匯入&匯出MySql
- doris匯入匯出
- esayExcel匯入匯出Excel
- mysqldump匯出匯入所有庫、某些庫、某些表的例子MySql
- 開源匯入匯出庫Magicodes.IE 多sheet匯入教程
- [oracle] expdp 匯出分割槽表的分割槽Oracle
- 【STATS】Oracle匯入匯出優化器統計資訊Oracle優化
- 前端實現Excel匯入和匯出功能前端Excel
- js匯入匯出總結與實踐JS
- 【最佳實踐】MongoDB匯出匯入資料MongoDB
- QZpython匯入匯出redis資料的實現deuPythonRedis
- vue excel匯入匯出VueExcel
- navlicat 匯入匯出SQLSQL
- Oracle如何把一個表匯出匯入到另一個伺服器上的另一個表裡Oracle伺服器
- [Docker核心之容器、資料庫檔案的匯入匯出、容器映象的匯入匯出]Docker資料庫
- SpringBoot實現Excel匯入匯出,效能爆表,用起來夠優雅!Spring BootExcel
- Sql多個表部分資料匯入匯出(臨時想的,暫沒想到其他辦法)SQL
- OracleDatabase——資料庫表空間dmp匯出與匯入OracleDatabase資料庫
- spring boot + easypoi快速實現excel匯入匯出Spring BootExcel