1. 程式人生 > >.txt形式的文字資料匯入oracle資料庫

.txt形式的文字資料匯入oracle資料庫

客戶端連線資料庫匯入

1. 安裝有oracle客戶端,配好監聽。

2. 以oracle資料庫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下建立一個控制命令的指令碼檔案,通常以.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)</span>

解釋說明:

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/[email protected] 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"<<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

執行指令碼:

./info.sh

生成的user_svc_info_sql.txt檔案則是想匯出的資料檔案。

Set heading  on/off;   讓結果行的標題顯示/不顯示

set echo on/off;控制是否在執行命令時打印出所執行的命令,OFF則不列印。

set feedback on/off顯示由指令碼返回的記錄數時,指令碼選擇至少n個記錄。 ONOFF開啟或關閉此顯示。

set verify on/off控制是否列出在sql語句或PL/SQL指令碼中變數替換的值

set wrap on/off; 控制是否截斷選定行顯示如果當前行太寬長。OFFz則是關閉選定行截斷;既允許選擇的行換行到下一行。
set trimout on/off;確定是否允許在每行末尾顯示空白,OFF允許在每行末尾顯示空白,ON不允許輸出空白。

set trimspool on/off;確定是否允許在每行末尾顯示空格,OFF允許在每行末尾顯示空格,ON不允許輸出空格。




相關推薦

.txt形式文字資料匯入oracle資料庫

客戶端連線資料庫匯入 1. 安裝有oracle客戶端,配好監聽。 2. 以oracle資料庫app使用者的表user_svc_info為例 <span style="color:#3333ff;">CREATE TABLE USER_SVC_INFO( PH

將Excel或者Txt檔案中的資料匯入Oracle資料庫

使用SQL*Loader前提必須oracle資料中目的表已經存在大體步驟如下:     1   將excle檔案另存為一個新檔案比如檔名為text.txt,檔案型別選文字檔案(製表符分隔),這裡選擇型別為csv(逗號分隔)也行,但是在寫後面的control.ctl時要將欄位終

使用命令將文字資料匯入資料庫

1.下載 oracle 客戶端 和 plsql Oracle 的下載地址: 2. 建立 load.ctl 檔案 在任意資料夾下建立  load.ctl 檔案,用編輯器開啟 load.ctl 檔

python 指令碼實列(文字資料匯入資料庫

指令碼要求:1.根據文件資料建立表結構;2.將文件上的行號與每行的資料錄入資料庫;匯入模組連結資料庫設定表結構建立表格使用seesion管理資料庫獲取檔案資料,匯入資料到資料庫提交資料,關閉連結資料庫資料:

將.txt檔案資料匯入MySQL資料庫出現首字母亂碼問題

問題:最近做實訓時將.txt檔案匯入MySQL資料庫時出現了亂碼,最初時所有的都出現了亂碼,查了下百度,發現是編碼問題,於是將.txt檔案另存為UTF-8編碼,問題解決,但是又出現了第一個字母亂碼的問題

解決帶有日期格式的txt資料匯入oracle報錯的問題

將txt匯入oracle中有兩種方法1.使用sqlloader命令匯入 需要自己編寫ctl檔案 2.txt轉excel,再匯入oracle中 剛開始我這兩種方法都試過,可是都報錯誤,就是日類型別的資料報錯,這個錯誤折磨了我兩天,具體就不多說了,直接上解決方法 由於我的系統預

使用POI將資料匯入匯出資料庫

POI將資料匯入匯出資料庫。(採用ssm框架) 1.前臺列表的展示 <script type="text/javascript"> //進行資料的全選 function selectAll(){ var ids=document.get

dmp檔案匯入Oracle資料庫

     由於專案的需要,接觸到dmp檔案,並且需要讀取dmp檔案。而無法直接讀取dmp格式檔案,目前常用的方法是匯入Oracle資料庫,然後通過Java程式讀取。這裡主要說一下我遇到的問題以及解決方法。     相信很多用過

CVS 匯入oracle 資料庫

轉載:https://blog.csdn.net/jiadianyong12138/article/details/79762155 1.首先在資料庫對應使用者下建表(t_test),欄位型別及名字要與CSV檔案相同。   2.新建txt(test.txt)檔案輸入:   &

利用sqoop將hive資料匯入Oracle中(踩的坑)

教程很多,這裡只說踩過的坑 1.下載sqoop時,還得下一個bin的包,拿到sqoop-1.4.6.jar 的包,放到hadoop的lib目錄下 2.匯入oracle,執行程式碼時,使用者名稱和表名必須大寫!且資料庫建表時表名必須大寫!  示例程式碼: sqoop expo

利用Python將Excel表中的資料匯入Mysql資料庫

 python操作Excel 需要匯入xlrd包,可以通過pip install xlrd 一鍵安裝。 #coding=utf-8 ''' python 將指定目錄下的excel檔案匯入到資料庫中 ''' # 引入資料庫包 import pymysql # 引入操作excel包

日期型別的資料Oracle資料庫中的儲存和查詢

使用Oracle資料庫,mybatis的對映檔案中日期型別的資料,如果定義為<result column =“UPDATED_DATE" jdbcType =“DATE” property =“updatedDate”/>,即使在後臺你為日期賦予年月日時分秒,但儲存到資料庫中將只

Java將Excel表格中資料匯入資料庫中的表中

        上一節介紹了Java將資料庫表中資料匯出至Excel表格,那麼本節來介紹它的逆過程,也就是將Excel表格中的資料逐行匯入資料庫中的表中,依然需要使用Apache的POI,上一節已經說過也附了這個jar包的下載地址,這一節就不過多的說,直接講如

Shell_mysql命令以及將資料匯入Mysql資料庫

連線MYSQL資料庫 mysql -h${db_ip} -u${db_user} -p${db_pawd} -P${db_port} -D${db_name} -s -e "${sql}"   db_ip:主機地址   db_user :資料庫使用者名稱   db_pwd:密碼   db

使用PL/SQLDeveloper把excel資料匯入資料庫

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

將excel檔案中的資料匯入資料庫中的步驟

//1,在控制請中通過MultipartHttpServlerRequest multipartFiles獲取上傳的檔案 multipartFile file = multipartFiles.getFiles("file");//引數file是前端input上傳檔案標籤的name屬性;

Sql2012如何將遠端伺服器資料庫及表、表結構、表資料匯入本地資料庫

1、第一步,在本地資料庫中建一個與伺服器同名的資料庫        2、第二步,右鍵源資料庫,任務》匯出資料,彈出匯入匯出提示框,點下一步繼續        3、遠端資料庫操作,確認伺服器名稱(伺服器地址)、身份驗證(輸入使用者名稱、密碼)、選擇需要匯出的源資料庫,點下一步繼續       4、本地目標伺服器

字串長度超過4000字元的資料存入oracle資料庫裡clob型別的欄位裡,並之後做前臺查詢展示

這個過程會產生的問題有: 1. 因為oracle的兩個單引號之間字元長度不能超過4000,字串長度超過4000字元後或報字元過長的錯,無法直接insert或update進資料庫,必須得轉換成clob型別。 2.查出來的clob資料不是字串,無法直接展示。 我在ssm框架

Excel資料匯入資料庫

一、前臺請求  二、後臺邏輯 import java.util.HashMap; import java.util.Map; import javax.servlet.http.HttpServletRequest; import org.apache.po

C# 將Excel中的資料匯入資料庫SQLS

解決方式: 1.現將Excel中的資料存放在DataTable中 程式碼參考部落格:C#讀取Excel中的內容,並將內容存放在二維陣列中” 2. 將DataTable中的資料匯入到SqlServer中 具體程式碼如下: public static void D