oracle数据库导入txt,oracle数据库导入TXT文件方法介绍
客戶端連接數據庫導入
1. 安裝有oracle客戶端,配好監聽。
2. 以oracle數據庫app用戶的表user_svc_info為例
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 );
在e:\sqlldr下創建一個控制命令的腳本文件,通常以.ctl結尾,如info.ctl
腳本內容如下:
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)
解釋說明:
infile 'info.txt' 表示要導入的文本文件名為info.txt
append into table 后接要導入的表名
此處用append表示追加到表中,若用
Insert 表示導入空表,有數據則停止;
Replace表示原來表中如果有數據,則會被刪除(用delete from table語句)
Truncate表示原來表中如果有數據,則會被清除(用truncate table語句)
fields terminated by ','? 數據中每行記錄用”,”分隔
TRAILING NULLCOLS??? 表的字段沒有對應的值時允許為空
括號內為表的所有字段,日期格式的字段要進行轉換,如上SVC_UPDATETIME若是date類型,則用SVC_UPDATETIME date 'yyyy-mm-dd hh24:mi:ss'
腳本寫好后,腳本與info.txt放在同一個文件夾內,在cmd下執行命令:
E:
cd e:\sqlldr
sqlldr userid=app/app@imusic control=info.ctl
表數據導出:在操作系統下創建導出腳本(要賦予此腳本可執行權限):
表數據導出腳本:
以app用戶下的user_svc_info為例,若要使如下語句的結果導出成.txt文件,每個字段的值以”,”分隔:
Select phone,svc_type,svc_udatetime from user_svc_ifno where rownum<100;
可以oracle用戶登錄系統,創建腳本如vim info.sh
#!/bin/bash
sqlplus "app/app"<
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
執行腳本:
./info.sh
生成的user_svc_info_sql.txt文件則是想導出的數據文件。
Set heading? on/off;?? 讓結果行的標題顯示/不顯示
set echo on/off;控制是否在執行命令時打印出所執行的命令,OFF則不打印。
set feedback on/off顯示由腳本返回的記錄數時,腳本選擇至少n個記錄。 ON或OFF打開或關閉此顯示。
set verify on/off控制是否列出在sql語句或PL/SQL腳本中變量替換的值
set wrap on/off; 控制是否截斷選定行顯示如果當前行太寬長。OFFz則是關閉選定行截斷;既允許選擇的行換行到下一行。
set trimout on/off;確定是否允許在每行末尾顯示空白,OFF允許在每行末尾顯示空白,ON不允許輸出空白。
set trimspool on/off;確定是否允許在每行末尾顯示空格,OFF允許在每行末尾顯示空格,ON不允許輸出空格。
總結
以上就是本文關于oracle數據庫導入TXT文件方法介紹,希望對大家有所幫助。感興趣的朋友可以參閱:Oracle RMAN自動備份控制文件方法介紹?、 oracle 數據庫啟動階段分析??、?oracle 虛擬專用數據庫詳細介紹等。感謝大家對本站的支持。
時間: 2017-09-25
總結
以上是生活随笔為你收集整理的oracle数据库导入txt,oracle数据库导入TXT文件方法介绍的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: log.php(157),Log出现pe
- 下一篇: php gd 缩略图,[PHP GD库]