91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

sqlldr

發布時間:2020-08-07 02:52:13 來源:ITPUB博客 閱讀:179 作者:595117995 欄目:關系型數據庫

最近在處理一批文本數據,規定按照接口說明導入到ORACLE數據庫中,經過最近的研究,解決了一些問題,覺得我必要總結一下:

 

常規資料:

 

----------------------------------------------------

Dos 環境下使用SQl*Loader命令 加載

使用其它數據庫的數據轉移工具

Oracle 企業管理器中的數據加載功能

具體的技術實現

一、Dos 環境下加載

1、首先,服務器端的偵聽服務必須已經開啟。

測試方法:Dos 下輸入

C:/>sqlplus username/password@serviceName

2、然后使用 Oracle 的 sqlldr 命令進行數據的導入

前期條件

1) Oracle 數據庫端必須已經建好了需要導入的數據表的結構

2) 一個數據源文件 下面例子中為制表符分隔的文本文件 model.txt ,為Excel 表中導出的

3) 手工編輯一個XXX.CTL 的控制文件

4) 命令行加載數據


如下實例:

以下文件缺省放到C:/ 下,如果不是,就需要指明全路徑

1. 命令控制文件 input.ctl 內容

命令 
說明

load data 
1、控制文件標識

infile 'model.txt' 
2、要輸入的數據文件名為test.txt

append into table system.塔位屬性表 
3、向表test中追加記錄

fields terminated by X'09' 
4、指定分隔符,字段終止于X'09',是一個制表符(TAB)

(編號,名稱,大小) 
5、定義列對應表中順序

 

控制文件中指定插入數據的方式關鍵字

insert,為缺省方式,在數據裝載開始時要求表為空

append,在表中追加新記錄

replace,刪除舊記錄,替換成新裝載的記錄

truncate,同上

在 Dos 窗口下使用 SQl*Loader 命令實現數據的導入

C:/>sqlldr userid=system/manager@ serviceName control=input.ctl

默認日志文件名為:input.log

默認壞記錄文件為:input.bad

二、使用其它數據庫轉移工具


以下以SQL Server 導入導出向導為例

1、在數據的導入導出向導中設置數據源服務器,實例中選擇數據源選擇SQL Server

2、然后指定要導入的Oracle 數據源

3、需要配置Oracle 的屬性信息

需要注意的是,登錄數據庫的用戶信息即為數據導入之后的方案名,即導入之后的SQL Server 中的表在Oracle 中標志名為 username.表名

以下按照提示即可,可以完全導入SQl Server 中的數據表和視圖,也可以使用查詢語句返回你要選擇的列或者行。

三、Oracle 企業管理器中的數據加載功能

登錄Oracle 的控制臺界面,針對單獨的數據表可以使用數據加載工具

中間需要指定控制文件等,同Dos 加載一致,不再重復

 

----------------------------------------------------

向Oracle中導入文本數據時使用的控制文件格式
 
無論是使用上一篇中的哪種方式都需要有一個控制文件,下面是控制文件(ctl文件)書寫的基本格式:
    
 命令
 說明
 
load data
 1、控制文件標識
 
infile 'testl.txt' 
 2、要輸入的數據文件名為test.txt,此時是要導入的數據文件同控制文件在同一路徑下,如果不在同一路徑下則需要寫完整路徑名
 
append into table 表名(可以是全名也可以是同義詞)
 3、向表test中追加記錄
 
fields terminated by X'09'
 4、指定分隔符,字段終止于X'09'   (很重要),是一個制表符(TAB),如果用逗號分割就將X'09'替換為','
 
(編號,名稱,大小)
 5、定義列對應表中順序
 


  控制文件中指定插入數據的方式關鍵字


                           insert,為缺省方式,在數據裝載開始時要求表為空

                           append,在表中追加新記錄

                           replace,刪除舊記錄,替換成新裝載的記錄

                           truncate,同上

控制文件的示例:
load data
infile 'test.txt'
append into table test.test
fields terminated by X'09'
(test,test1,test2)

對有時間類型的數據導入的示例控制文件:
load data 
infile 'h:/TB_FACT_PHS_TICKET_DAY.txt'
Append into TABLE TB_FACT_PHS_TICKET_DAY
fields terminated by X'09'
(Time_Id            
,Region_Id         
,Cust_Type_Id      
,Prod_Type_Id      
,Acct_Item_Type_Id 
,Acct_Item_Type_Cd 
,Exchange97_Cd     
,Latn_Cd           
,Call_Duration     
,Access_In_Duration
,Income
,In_Date  Date "YYYY-MM-DD"
)

文件導入命令                    C:/>sqlldr userid=test/test@test control=test.ctl(此時控制文件test.ctl存在C:/路徑下)
在命令控制符下進入Oracle        C:/>sqlplus 
username/password@serviceName

 

 


oracle導入txt數據文件2008年07月30日 星期三 17:21把txt文件格式的數據文件導入oracle的方法是利用sqlloader工具。

第一步:把文本格式的數據文件放入C盤。如,test.txt
第二步:建立控制文件append.ctl。(名字可以隨便取,放C盤下)

append.ctl的內容如下:
  load data             --1、控制文件標識 
    infile   'test.txt'       --2、要輸入的數據文件名為test.txt 
    append into table CTXSYS.test   --3、向CTXSYS表空間中的表test中追加記錄 
    fields terminated by X'09' --4、字段終止于X'09',是一個制表符
(id,username,password,sj)     -----定義列對應順序

   其中append為數據裝載方式,還有其他選項: 
   a、insert,為缺省方式,在數據裝載開始時要求表為空 
   b、append,在表中追加新記錄 
   c、replace,刪除舊記錄,替換成新裝載的記錄 
   d、truncate,同上

第三步:在命令提示符下輸入命令。
C:/>sqlldr userid=username/password

control=c:/append.ctl        數據庫中用名的用戶名和密碼
或者 C:/>sqlldr userid=system/manager@ serviceName control=input.ctl 

 

----------------------------------------------------

 

一些經常出現的問題:

 

1。關于日期格式的問題:

 

ctl基本寫法諸如:

 

load data
infile 'C:/TP_LOANCONTRACTSUM.txt'
insert into table TP_LOANCONTRACTSUM
fields terminated by '|!'
(
column01,
column02,
column03,
column04 "to_date(:column04,'''yyyy-mm-dd hh34:mi:ss''')",
column05 "to_date(:column05,'''yyyy-mm-dd hh34:mi:ss''')",
column06,
column07,
column08,
column09,
column10,
column11,
column12 "to_date(:column12,'''yyyy-mm-dd hh34:mi:ss''')",
column13
)
 

 

2。關于長字符串問題,CTL默認情況下是256位(或者256位左右),所以長字符串時會在log里報錯,提示所輸入的值超過最大長度,解決辦法,在ctl文件里再指定大小,注意個情況,不能寫VARCHAR只能寫CHAR,否則報錯,諸如:

 

load data
infile 'C:/TP_PLEDGECONTRACTINFO.txt'
insert into table TP_PLEDGECONTRACTINFO
fields terminated by '|!'
(
column01,
column02,
column03,
column04,
column05,
column06,
column07 "to_date(:column07,'''yyyy-mm-dd hh34:mi:ss''')",
column08,
column09,
column10 "to_date(:column10,'''yyyy-mm-dd hh34:mi:ss''')",
column11,
column12,
column13,
column14,
column15 "to_date(:column15,'''yyyy-mm-dd hh34:mi:ss''')",
column16,
column17,
column18 "to_date(:column18,'''yyyy-mm-dd hh34:mi:ss''')",
column19,
column20,
column21,
column22,
column23,
column24,
column25 "to_date(:column25,'''yyyy-mm-dd hh34:mi:ss''')",
column26 CHAR(500),
column27,
column28
)

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

霍城县| 高要市| 海南省| 上虞市| 革吉县| 元阳县| 镇远县| 万州区| 余庆县| 临武县| 浦县| 定兴县| 天柱县| 漳平市| 集安市| 宁强县| 阳新县| 遵义市| 门头沟区| 冷水江市| 温泉县| 阜宁县| 保康县| 南华县| 从化市| 龙门县| 修武县| 淮北市| 湖口县| 沧源| 平凉市| 措勤县| 开阳县| 巩义市| 辽阳县| 大石桥市| 库尔勒市| 綦江县| 南投市| 资源县| 合作市|