国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|數據庫技術|

服務器之家 - 數據庫 - Oracle - oracle數據與文本導入導出源碼示例

oracle數據與文本導入導出源碼示例

2020-03-20 17:31mengwei Oracle

這篇文章主要介紹了oracle數據與文本導入導出源碼示例,具有一定參考價值,需要的朋友可以了解下。

oracle提供了sqlldr的工具,有時需要講數據導入到文本,oracle的spool可以輕松實現。

方便的實現oracle導出數據到txt、txt導入數據到oracle。

一、導出數據到txt

用all_objects表做測試

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
SQL> desc all_objects;
 Name                   Null?  Type
 ----------------------------------------- -------- ----------------------------
 OWNER                   NOT NULL VARCHAR2(30)
 OBJECT_NAME                NOT NULL VARCHAR2(30)
 SUBOBJECT_NAME                   VARCHAR2(30)
 OBJECT_ID                 NOT NULL NUMBER
 DATA_OBJECT_ID                   NUMBER
 OBJECT_TYPE                    VARCHAR2(19)
 CREATED                  NOT NULL DATE
 LAST_DDL_TIME               NOT NULL DATE
 TIMESTAMP                     VARCHAR2(19)
 STATUS                       VARCHAR2(7)
 TEMPORARY                     VARCHAR2(1)
 GENERATED                     VARCHAR2(1)
 SECONDARY                     VARCHAR2(1)

 

拿object_id,object_name做導出、導入測試。

一些設置滿足數據導出的樣式:

vi exp_table.sql

?
1
2
3
4
5
6
7
8
9
10
11
12
13
set line 1000     --設置行的長度
set pagesize 0    --輸出不換頁
set feedback off   --默認的當一條sql發出的時候,oracle會給一個反饋,比如說創建表的時候,如果成功命令行會返回類似:Table created的反饋,off后不顯示反饋
set heading off    --不顯示表頭信息
set trimspool on   --如果trimspool設置為on,將移除spool文件中的尾部空
set trims on     --去掉空字符
set echo off;      --顯示start啟動的腳本中的每個sql命令,缺省為on
set colsep '|'     --設置分隔符
set termout off    --不在屏幕上顯示結果
spool db1.txt     --記錄數據到db1.txt
select object_id,object_name from all_objects; --導出數據語句
spool off       --收集完畢
exit

一切就緒后導出數據:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[oracle@centos5 ~]$ sqlplus test/test @exp_table.sql
SQL*Plus: Release 10.2.0.4.0 - Production on Thu Jun 13 16:35:14 2013
Copyright (c) 1982, 2007, Oracle. All Rights Reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
[oracle@centos5 ~]$ sed -i 's/ //g' db1.txt --可選,去除每行開頭部分的空格
[oracle@centos5 ~]$ more db1.txt 20|ICOL$
44|I_USER1
28|CON$
15|UNDO$
29|C_COBJ#
3|I_OBJ#
25|PROXY_ROLE_DATA$

導出后檢查數據的記錄數是否正確

?
1
2
3
4
5
6
7
8
9
10
11
12
[oracle@centos5 ~]$ cat db1.txt |wc -l
49988
[oracle@centos5 ~]$ sqlplus test/test
SQL*Plus: Release 10.2.0.4.0 - Production on Thu Jun 13 16:36:21 2013
Copyright (c) 1982, 2007, Oracle. All Rights Reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SQL> select count(*) from all_objects;
 COUNT(*)
----------
   49988 --數據正確

二、從txt導入數據到oracle

sqlldr是通過一個control文件設定后,從文本導入數據

建立一張測試表

?
1
2
SQL> create table tb_sqlldr (id number,name varchar2(50));
Table created.

建立一個control文件

vi tb_sqlldr.ctl

?
1
2
3
4
5
load data        
infile 'db1.txt'      --數據來源文本
append into table tb_sqlldr  --數據導入到表tb_sqldr中,導入方式為追加,如果想覆蓋
fields terminated by "|"  --4、字段終止于X'09',是一個制表符(tab)
(id,name)          --定義對應的字段名稱,注意順序

導入數據分成四種模式,可以根據需求選擇:

APPEND // 原先的表有數據 就加在后面

INSERT // 裝載空表 如果原先的表有數據 sqlloader會停止 默認值

REPLACE // 原先的表有數據 原先的數據會全部刪除

TRUNCATE // 指定的內容和replace的相同 會用truncate語句刪除現存數據

執行導入操作

?
1
sqlldr userid=test/test control=tb_sqlldr.ctl

差不多5w的數據短短2s解決

執行導入后驗證數據

?
1
2
3
4
SQL> select count(*) from tb_sqlldr;
 COUNT(*)
----------
   49988

導入成功

再執行一次導入操作,由于設置為追加:

?
1
2
3
4
SQL> select count(*) from tb_sqlldr;
 COUNT(*)
----------
   99976

記錄翻倍

sqlldr還有很多參數供選擇,比如log、bad這些,查看幫助即可。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
[oracle@centos5 ~]$ sqlldr
SQL*Loader: Release 10.2.0.4.0 - Production on Thu Jun 13 17:07:26 2013
Copyright (c) 1982, 2007, Oracle. All rights reserved.
 
Usage: SQLLDR keyword=value [,keyword=value,...]
Valid Keywords:
  userid -- ORACLE username/password     
  control -- control file name        
    log -- log file name          
    bad -- bad file name          
   data -- data file name          
  discard -- discard file name        
discardmax -- number of discards to allow     (Default all)
   skip -- number of logical records to skip  (Default 0)
   load -- number of logical records to load  (Default all)
  errors -- number of errors to allow      (Default 50)
   rows -- number of rows in conventional path bind array or between direct path data saves
        (Default: Conventional path 64, Direct path all)
 bindsize -- size of conventional path bind array in bytes (Default 256000)
  silent -- suppress messages during run (header,feedback,errors,discards,partitions)
  direct -- use direct path           (Default FALSE)
  parfile -- parameter file: name of file that contains parameter specifications
 parallel -- do parallel load           (Default FALSE)
   file -- file to allocate extents from  
skip_unusable_indexes -- disallow/allow unusable indexes or index partitions (Default FALSE)
skip_index_maintenance -- do not maintain indexes, mark affected indexes as unusable (Default FALSE)
commit_discontinued -- commit loaded rows when load is discontinued (Default FALSE)
 readsize -- size of read buffer         (Default 1048576)
external_table -- use external table for load; NOT_USED, GENERATE_ONLY, EXECUTE (Default NOT_USED)
columnarrayrows -- number of rows for direct path column array (Default 5000)
streamsize -- size of direct path stream buffer in bytes (Default 256000)
multithreading -- use multithreading in direct path
 resumable -- enable or disable resumable for current session (Default FALSE)
resumable_name -- text string to help identify resumable statement
resumable_timeout -- wait time (in seconds) for RESUMABLE (Default 7200)
date_cache -- size (in entries) of date conversion cache (Default 1000)
PLEASE NOTE: Command-line parameters may be specified either by
position or by keywords. An example of the former case is 'sqlldr
scott/tiger foo'; an example of the latter is 'sqlldr control=foo
userid=scott/tiger'. One may specify parameters by position before
but not after parameters specified by keywords. For example,
'sqlldr scott/tiger control=foo logfile=log' is allowed, but
'sqlldr scott/tiger control=foo log' is not, even though the
position of the parameter 'log' is correct.

總結

以上就是本文關于oracle數據與文本導入導出源碼示例的全部內容。

原文鏈接:http://www.jquerycn.cn/a_8123

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 伊人久久综合 | 狠狠操影院 | 黄色网页观看 | 99激情 | 久久精品夜夜夜夜夜久久 | 国产三级精品在线 | 天天操夜夜爽 | 日日干狠狠干 | 色综合色综合网色综合 | 99久久成人 | 免费欧美一级 | 日本欧美在线 | 日韩高清不卡一区二区三区 | 欧洲视频一区 | 香草久久| 可以在线观看的av网站 | 国产精品成人国产乱一区 | 激情五月婷婷综合 | 国产精品久久久久久久久久久久冷 | av网站观看 | 国产偷亚洲偷欧美偷精品 | 久久在线看 | 国产福利一区二区三区四区 | 欧美一级片在线 | 欧美日韩成人 | 亚洲成人免费影院 | 中文字幕精品一区二区精品 | 久草 在线| 九一精品| 黄色资源网站 | 亚洲欧洲综合 | 欧美视频第一区 | 亚洲精品一区二区三区蜜桃久 | 95香蕉视频| 午夜视频一区 | 婷婷激情综合 | 欧美视频精品 | 亚洲天天操 | 欧美精品一区二区三区蜜桃视频 | 极品美女销魂一区二区三区 | 精品久久国产老人久久综合 |