日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

sqluldr2支持mysql吗_sqluldr2工具使用方法

發(fā)布時(shí)間:2023/12/10 数据库 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 sqluldr2支持mysql吗_sqluldr2工具使用方法 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Oracle數(shù)據(jù)導(dǎo)出工具sqluldr2可以將數(shù)據(jù)以csv、txt等文件格式導(dǎo)出,適用于大批量數(shù)據(jù)的導(dǎo)出,導(dǎo)出速度非常快,導(dǎo)出后可以使用Oracle SQL Loader工具將數(shù)據(jù)導(dǎo)入到數(shù)據(jù)庫中。下面將介紹Sqluldr2和sqlldr在Windows平臺下的數(shù)據(jù)處理過程。

一、軟件下載地址

下載完sqluldr解壓后,文件夾內(nèi)容如下:

sqluldr2.exe

用于32位windows平臺;

sqluldr2_linux32_10204.bin

適用于linux32位操作系統(tǒng);

sqluldr2_linux64_10204.bin

適用于linux64位操作系統(tǒng);

sqluldr264.exe

用于64位windows平臺。

文件內(nèi)容如下圖所示:

二、sqluldr2 使用方法

1、首先將sqluldr2.exe復(fù)制到執(zhí)行目錄下,即可開始使用

2、查看help 幫助

3、執(zhí)行數(shù)據(jù)導(dǎo)出命令

3.1、常規(guī)導(dǎo)出

sqluldr2

test

/

test

@127.0.1.1/orcl query="select * from temp_001" head=yes file=d:/tmp001.csv

說明:head=yes

表示輸出表頭

3.2、使用sql參數(shù)

sqluldr2 test/test@127.0.1.1/orcl sql=test_sql.sql head=yes file=d:/tmp001.csv

test_sql的內(nèi)容為:

select * from temp_001

3.3、使用log參數(shù)

當(dāng)集成sqluldr2在腳本中時(shí),就希望屏蔽上不輸出這些信息,但又希望這些信息能保留,這時(shí)可以用“LOG”選項(xiàng)來指定日志文件名。

sqluldr2?test/test@127.0.1.1/orcl sql=test_sql.sql head=yes file=d:/tmp001.csv log=+d:/tmp001.log

3.4、使用 table 參數(shù)

當(dāng)使用 table 參數(shù)時(shí),在目錄下會生成對應(yīng)的ctl控制文件,如下語句會生成temp_001_sqlldr.ctl文件。

sqluldr2?test/test@127.0.1.1/orcl query="select * from temp_001" table=temp_001 head=yes file=d:/tmp001.csv

生成的控制文件

temp_001_sqlldr.ctl的內(nèi)容如下:

4、主要參數(shù)說明

Field

分隔符

指定字段分隔符,默認(rèn)為逗號

record 分隔符

指定記錄分隔符,默認(rèn)為回車換行,Windows下的換行

quote

引號符

指定非數(shù)字字段前后的引號符

例如現(xiàn)在要改變默認(rèn)的字段分隔符,用“#”來分隔記錄,導(dǎo)出的命令如下所示:

sqluldr2

test/test sql=tmp.sql field=#

在指定分隔符時(shí),可以用字符的ASCII代碼(0xXX,大寫的XX為16進(jìn)制的ASCII碼值)來指定一個(gè)字符,常用的字符的ASCII代碼如下:

回車=0x0d,換行=0x0a,TAB鍵=0x09,|=0x7c,&=0x26,雙引號=0x22,單引號=0x27

在選擇分隔符時(shí),一定不能選擇會在字段值中出現(xiàn)的字符組合,如常見的單詞等,很多次導(dǎo)入時(shí)報(bào)錯(cuò),回過頭來找原因時(shí),都發(fā)現(xiàn)是因?yàn)榉指舴霈F(xiàn)在字段值中了。

三、sqlldr 使用方法

sqlldr工具可以將文本數(shù)據(jù)導(dǎo)入到數(shù)據(jù)庫表中,

1、查看sqlldr 的幫助文檔

2、創(chuàng)建測試文件

在D盤根目錄下創(chuàng)建測試文件tmp_insert.txt ,其內(nèi)容如下:

PROD_ID,ACC_NUM

18283918,18762535162

12361527,18482762831

3、創(chuàng)建控制文件tmp_insert01.ctl

內(nèi)容如下:

options(direct=true,errors=10000000,skip=1)

load data

characterset zhs16gbk

into table temp_001?truncate

fields terminated by ',' optionally enclosed by '"'

trailing nullcols

(

prod_id ?"trim(:prod_id)",

acc_num "trim(:acc_num)"

)

參數(shù)說明:

characterset :字符集, 一般使用字符集 AL32UTF8,如果出現(xiàn)中文字符集亂碼時(shí),改成

ZHS16GBK。

fields terminated by 'string':文本列分隔符。當(dāng)為tab鍵時(shí),改成'/t',或者 X'09';空格分隔符 whitespace

,換行分隔符 '/n' 或者 X'0A';回車分隔符 '/r' 或者 X'0D';默認(rèn)為'/t'。

optionally enclosed by 'char':字段包括符。當(dāng)為 ' ' 時(shí),不把字段包括在任何引號符號中;當(dāng)為 "'" 時(shí),字段包括在單引號中;當(dāng)為'"'時(shí),字段在包括雙引號中;默認(rèn)不使用引用符。

fields escaped by 'char':轉(zhuǎn)義字符,默認(rèn)為'/'。

trailing nullcols:表字段沒有對應(yīng)的值時(shí),允許為空。

insert:為缺省方式,在數(shù)據(jù)裝載開始時(shí)要求表為空;

append:在表中追加新記錄

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

truncate:先清空表,再添加記錄;

skip=1 :表示插入數(shù)據(jù)時(shí),跳過第一行(標(biāo)題),從第二行開始導(dǎo)入;

4、執(zhí)行數(shù)據(jù)導(dǎo)入處理

sqlldr

test/

test@127.0.1.1/orcl data=d:/tmp_insert.txt control=d:/tmp_insert01.ctl log=d:/tmp_insert01.log bad=d:/tmp_insert01.bad

注意:在數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫表后,查詢表數(shù)據(jù)時(shí),會發(fā)現(xiàn)最后一個(gè)字段的數(shù)據(jù)中含有類似空格的字符,其實(shí)不是空格,是回車換行符,通過replace函數(shù)將其替換掉即可,如下紅色部分處理

options(direct=true,errors=10000000,skip=1)

load data

characterset zhs16gbk

into table temp_001 truncate

fields terminated by ',' optionally enclosed by '"'

trailing nullcols

(

prod_id ?char(32) ?"trim(:prod_id)",

acc_num

char(20)

"replace(:acc_num,chr(13),'')"

)

5、sqlldr中支持定義的數(shù)據(jù)類型

可以定義14種數(shù)據(jù)類型:

CHAR

DATE

DECIMAL EXTERNAL

DECIMAL

DOUBLE

FLOAT

FLOAT EXTERNAL

GRAPHIC EXTERNAL

INTEGER

INTEGER EXTERNAL

SMALLINT

VARCHAR

VARGRAPHIC

a、字符類型數(shù)據(jù)

CHAR[ (length)] [delimiter]

length缺省為 1,ctl文件中char(20) 一般對應(yīng)數(shù)據(jù)庫表中 varchar2(20) 。

b、日期類型數(shù)據(jù)

DATE [ ( length)]['date_format' [delimiter]

使用to_date函數(shù)來限制

ctl文件中 date "yyyy-mm-dd hh24:mi:ss" 對應(yīng)數(shù)據(jù)庫表中 date

c、字符格式中的十進(jìn)制

DECIMAL EXTERNAL [(length)] [delimiter]

用于常規(guī)格式的十進(jìn)制數(shù)(不是二進(jìn)制=> 一個(gè)位等于一個(gè)bit)

ctl文件中 decimal external 對應(yīng) 數(shù)據(jù)庫表中 number

d、壓縮十進(jìn)制格式數(shù)據(jù)

DECIMAL (digtial [,precision])

ctl文件中 decimal對應(yīng) 數(shù)據(jù)庫表中 number

e、雙精度符點(diǎn)二進(jìn)制

DOUBLE

f、普通符點(diǎn)二進(jìn)制

FLOAT

g、字符格式符點(diǎn)數(shù)

FLOAT EXTERNAL [ (length) ] [delimiter]

h、雙字節(jié)字符串?dāng)?shù)據(jù)

GRAPHIC [ (legth)]

i、雙字節(jié)字符串?dāng)?shù)據(jù)

GRAPHIC EXTERNAL[ (legth)]

j、常規(guī)全字二進(jìn)制整數(shù)

INTEGER

ctl文件中的integer 對應(yīng)數(shù)據(jù)庫表中 integer

k、字符格式整數(shù)

INTEGER EXTERNAL

l、常規(guī)全字二進(jìn)制數(shù)據(jù)

SMALLINT

m、可變長度字符串

VARCHAR

ctl文件中varchar 對應(yīng) 數(shù)據(jù)庫表中 varchar2

n、可變雙字節(jié)字符串?dāng)?shù)據(jù)

VARGRAPHIC

6、常見錯(cuò)誤示例

SQL*Loader-601: For INSERT option, table must be empty.

這時(shí)需要,更改為追加(append)方式加載數(shù)據(jù)。

創(chuàng)建控制文件tmp_insert01.ctl,內(nèi)容如下:

OPTIONS(DIRECT=TRUE,ERRORS=10000000,skip=1)

LOAD DATA

--INFILE 'd:/tmp_insert.txt'

CHARACTERSET AL32UTF8

APPEND INTO TABLE TEMP_001

FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'

TRAILING NULLCOLS

(

PROD_ID

"TRIM(:PROD_ID)",

ACC_NUM

"TRIM(:ACC_NUM)"

)

https://www.cndba.cn/cndba/tianxiadishi/article/2064

https://www.cndba.cn/cndba/tianxiadishi/article/2064

https://www.cndba.cn/cndba/tianxiadishi/article/2064

https://www.cndba.cn/cndba/tianxiadishi/article/2064

https://www.cndba.cn/cndba/tianxiadishi/article/2064

https://www.cndba.cn/cndba/tianxiadishi/article/2064

https://www.cndba.cn/cndba/tianxiadishi/article/2064

https://www.cndba.cn/cndba/tianxiadishi/article/2064

https://www.cndba.cn/cndba/tianxiadishi/article/2064

https://www.cndba.cn/cndba/tianxiadishi/article/2064

工具

總結(jié)

以上是生活随笔為你收集整理的sqluldr2支持mysql吗_sqluldr2工具使用方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。