oracle數(shù)據(jù)庫導(dǎo)入TXT文件方法介紹
客戶端連接數(shù)據(jù)庫導(dǎo)入
1. 安裝有oracle客戶端,配好監(jiān)聽。
2. 以oracle數(shù)據(jù)庫app用戶的表user_svc_info為例
<span style="color:#3333ff;">CREATE TABLE USER_SVC_INFO( PHONE varchar2(20) NOT NULL, SVC_ID varchar2(32) NOT NULL, P_USERNAME varchar2(100) NULL, USER_STATUS number NOT NULL , P_ALIAS varchar2(50) NULL, IMSI varchar2(32) NULL, SVC_UPDATETIME timestamp(3) NULL, SVC_TYPE number NOT NULL, SVC_STATUS number NOT NULL, REC_UPDATETIME varchar2(20) NULL, SVC_IDK varchar2(32) NULL, PROSTART_TIME varchar2(24) NULL, PROEND_TIME varchar2(24) NULL, DOWN_TYPE number NULL );</span>
<span style="color:#3333ff;">在e:\sqlldr下創(chuàng)建一個控制命令的腳本文件,通常以.ctl結(jié)尾,如info.ctl 腳本內(nèi)容如下: load data infile 'info.txt' append into table user_svc_info fields terminated by ',' TRAILING NULLCOLS (PHONE,SVC_ID,P_USERNAME,USER_STATUS,P_ALIAS,IMSI, SVC_UPDATETIME timestamp 'yyyy-mm-dd hh24:mi:ss.ff', SVC_TYPE,SVC_STATUS,REC_UPDATETIME,SVC_IDK, PROSTART_TIME,PROEND_TIME,DOWN_TYPE)</span>
解釋說明:
infile 'info.txt' 表示要導(dǎo)入的文本文件名為info.txt
append into table 后接要導(dǎo)入的表名
此處用append表示追加到表中,若用
Insert 表示導(dǎo)入空表,有數(shù)據(jù)則停止;
Replace表示原來表中如果有數(shù)據(jù),則會被刪除(用delete from table語句)
Truncate表示原來表中如果有數(shù)據(jù),則會被清除(用truncate table語句)
fields terminated by ',' 數(shù)據(jù)中每行記錄用”,”分隔
TRAILING NULLCOLS 表的字段沒有對應(yīng)的值時允許為空
括號內(nèi)為表的所有字段,日期格式的字段要進(jìn)行轉(zhuǎn)換,如上SVC_UPDATETIME若是date類型,則用SVC_UPDATETIME date 'yyyy-mm-dd hh24:mi:ss'
腳本寫好后,腳本與info.txt放在同一個文件夾內(nèi),在cmd下執(zhí)行命令:
E:
cd e:\sqlldr
sqlldr userid=app/app@imusic control=info.ctl
表數(shù)據(jù)導(dǎo)出:在操作系統(tǒng)下創(chuàng)建導(dǎo)出腳本(要賦予此腳本可執(zhí)行權(quán)限):
表數(shù)據(jù)導(dǎo)出腳本:
以app用戶下的user_svc_info為例,若要使如下語句的結(jié)果導(dǎo)出成.txt文件,每個字段的值以”,”分隔:
Select phone,svc_type,svc_udatetime from user_svc_ifno where rownum<100; 可以oracle用戶登錄系統(tǒng),創(chuàng)建腳本如vim info.sh #!/bin/bash sqlplus "app/app"<<EOF set heading off; set echo off; set feedback off; set verify off; set wrap off; set pagesize 0; set linesize 2500; set trimout on; set trimspool on; spool /usr/local/oracle/user_svc_info_sql.txt; select phone||','||svc_type||','||svc_updatetime from user_svc_info where rownum<100; set define on; set heading on; set echo on; set feedback on; spool off quit; EOF
執(zhí)行腳本:
./info.sh
生成的user_svc_info_sql.txt文件則是想導(dǎo)出的數(shù)據(jù)文件。
Set heading on/off; 讓結(jié)果行的標(biāo)題顯示/不顯示
set echo on/off;控制是否在執(zhí)行命令時打印出所執(zhí)行的命令,OFF則不打印。
set feedback on/off顯示由腳本返回的記錄數(shù)時,腳本選擇至少n個記錄。 ON或OFF打開或關(guān)閉此顯示。
set verify on/off控制是否列出在sql語句或PL/SQL腳本中變量替換的值
set wrap on/off; 控制是否截斷選定行顯示如果當(dāng)前行太寬長。OFFz則是關(guān)閉選定行截斷;既允許選擇的行換行到下一行。
set trimout on/off;確定是否允許在每行末尾顯示空白,OFF允許在每行末尾顯示空白,ON不允許輸出空白。
set trimspool on/off;確定是否允許在每行末尾顯示空格,OFF允許在每行末尾顯示空格,ON不允許輸出空格。
總結(jié)
以上就是本文關(guān)于oracle數(shù)據(jù)庫導(dǎo)入TXT文件方法介紹,希望對大家有所幫助。感興趣的朋友可以參閱:Oracle RMAN自動備份控制文件方法介紹 、 oracle 數(shù)據(jù)庫啟動階段分析 、 oracle 虛擬專用數(shù)據(jù)庫詳細(xì)介紹 等。感謝大家對本站的支持。
- 使用imp和exp命令對Oracle數(shù)據(jù)庫進(jìn)行導(dǎo)入導(dǎo)出操作詳解
- oracle數(shù)據(jù)庫導(dǎo)入.dmp腳本的sql 語句
- mysql數(shù)據(jù)庫和oracle數(shù)據(jù)庫之間互相導(dǎo)入備份
- oracle數(shù)據(jù)庫導(dǎo)入導(dǎo)出命令解析
- 利用PL/SQL從Oracle數(shù)據(jù)庫導(dǎo)出和導(dǎo)入數(shù)據(jù)
- oracle數(shù)據(jù)庫導(dǎo)入導(dǎo)出命令使用方法
- Oracle rac環(huán)境的數(shù)據(jù)庫導(dǎo)入操作步驟
相關(guān)文章
從零搭建腳手架之集成Spring?Retry實現(xiàn)失敗重試和熔斷器模式(實戰(zhàn)教程)
在我們的大多數(shù)項目中,會有一些場景需要重試操作,而不是立即失敗,讓系統(tǒng)更加健壯且不易發(fā)生故障,這篇文章主要介紹了從零搭建開發(fā)腳手架之集成Spring?Retry實現(xiàn)失敗重試和熔斷器模式,需要的朋友可以參考下2022-07-07淺談Spring Cloud zuul http請求轉(zhuǎn)發(fā)原理
這篇文章主要介紹了淺談Spring Cloud zuul http請求轉(zhuǎn)發(fā)原理,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-08-08IDEA中JDK是1.8但Java版本只有21和17的解決辦法
JDK 1.8(Java Development Kit 1.8)是Java平臺的一個版本,它包含了用于開發(fā)和運(yùn)行Java應(yīng)用程序的工具和庫,下面這篇文章主要給大家介紹了關(guān)于IDEA中JDK是1.8但Java版本只有21和17的解決辦法,需要的朋友可以參考下2024-01-01SpringBoot 文件或圖片上傳與下載功能的實現(xiàn)
這篇文章主要介紹了SpringBoot 文件或圖片上傳與下載功能的實現(xiàn),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-02-02Java使用itextpdf實現(xiàn)生成PDF并添加圖片,水印和文字
這篇文章主要為大家詳細(xì)介紹了Java在使用itextpdf實現(xiàn)生成PDF時如何實現(xiàn)添加圖片,水印和文字等效果,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2024-02-02Java學(xué)習(xí)常用包(類)之java.util包詳解
這篇文章主要介紹了Java學(xué)習(xí)常用包(類)之java.util包的相關(guān)資料,Java.util包是Java標(biāo)準(zhǔn)類庫的重要組成部分,包含集合框架、日期時間類、事件模型、隨機(jī)數(shù)生成器等實用工具類,集合框架提供了多種數(shù)據(jù)結(jié)構(gòu)和算法,需要的朋友可以參考下2024-10-10springcloud使用profile實現(xiàn)多環(huán)境配置方式
這篇文章主要介紹了springcloud使用profile實現(xiàn)多環(huán)境配置方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-03-03