DB2數(shù)據(jù)移動(dòng)(第5講)_第1頁(yè)
DB2數(shù)據(jù)移動(dòng)(第5講)_第2頁(yè)
DB2數(shù)據(jù)移動(dòng)(第5講)_第3頁(yè)
DB2數(shù)據(jù)移動(dòng)(第5講)_第4頁(yè)
DB2數(shù)據(jù)移動(dòng)(第5講)_第5頁(yè)
已閱讀5頁(yè),還剩49頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

DB2數(shù)據(jù)移動(dòng)

(第5講)

上海****技術(shù)有限責(zé)任公司Mrjim()2014-12培訓(xùn)大綱數(shù)據(jù)移動(dòng)格式導(dǎo)出〔EXPORT〕工具導(dǎo)入〔IMPORT〕工具導(dǎo)入〔LOAD〕工具db2move工具db2look工具.DB2數(shù)據(jù)遷移數(shù)據(jù)庫(kù)B數(shù)據(jù)庫(kù)A數(shù)據(jù)文件EXPORTIMPORTLOAD單表操作DB2MOVE多表操作DB2LOOK數(shù)據(jù)庫(kù)A腳本文件客戶端B客戶端A數(shù)據(jù)庫(kù)操作數(shù)據(jù)文件數(shù)據(jù)庫(kù)A數(shù)據(jù)移動(dòng)格式定界ASCII文件格式非定界ASCII文件格式PC/IXF格式:

集成交換格式WSF工作表文件格式:

主要用于LOTUS軟件,WSF是一種專有的二進(jìn)制文件格式。游標(biāo)數(shù)據(jù)移動(dòng)格式數(shù)據(jù)庫(kù)表DEL文件:可視IXF文件:不可視PC/IXF文件格式PC/IXF集成交換格式,包括表定義和數(shù)據(jù)ASC,DEL,WSF在跨平臺(tái)傳輸數(shù)據(jù)時(shí)可能會(huì)導(dǎo)致數(shù)據(jù)喪失.跨平臺(tái)建議使用PC/IXF文件格式游標(biāo)游標(biāo)是一個(gè)SELECT語(yǔ)句返回的結(jié)果集。這種格式僅限于LOAD使用,可以提高LOAD的性能。培訓(xùn)大綱數(shù)據(jù)移動(dòng)格式導(dǎo)出〔EXPORT〕工具導(dǎo)入〔IMPORT〕工具導(dǎo)入〔LOAD〕工具db2move工具db2look工具.導(dǎo)出工具

EXPORTExport用于將數(shù)據(jù)從數(shù)據(jù)表中導(dǎo)出幾種格式的文件中。其實(shí),它執(zhí)行了一個(gè)SQL的SELECT操作。支持的格式:IXF:是一種專用的二進(jìn)制格式,除數(shù)據(jù)外還包含表的結(jié)構(gòu)信息DEL:使用定界符的文本格式WSF:lotus支持的工作表格式DB2命令行,如:

$db2connecttosample

$db2exportto/home/db2inst1/test.ixfofixfselect*fromtestEXPORTEXPORT本質(zhì)是把一條SQL語(yǔ)句的結(jié)果集導(dǎo)出到一個(gè)文件中。EXPORT面向的是SQL而不單純是表。EXPORT支持的導(dǎo)出格式是DEL、WSF、IXF格式。EXPORT運(yùn)行前必須連接或隱式連接到數(shù)據(jù)庫(kù)。EXPORT會(huì)運(yùn)行COMMIT,因此在運(yùn)行前需要發(fā)出COMMIT或ROLLBACK語(yǔ)句來(lái)完成所有事務(wù)并釋放鎖定。EXPORT的命令EXPORTTOfilenameOFfiletype[MODIFIEDBYfiletype-mod[{filetype-mod}...]][MESSAGESmessage-file]select-statmentEXPORT的命令TOfilename用來(lái)指定將導(dǎo)出的數(shù)據(jù)放在<filename>文件中OFfiletype指定導(dǎo)出文件的類型,如IXF、DEL或WSF等。MODIFIEDBYfiletype-mod指定文件修飾符參數(shù),比方CHARDELx用于指定字符串定界符,COLDELx用于指定字段定界符,x是定界符號(hào)。默認(rèn)的字符串定界符為雙引號(hào)(“”)默認(rèn)的字段定界符為逗號(hào)(,)TIMESTAMPFORMAT用于指定日期字段的時(shí)間表達(dá)格式MESSAGESmessage-file消息輸出文件,用來(lái)保存導(dǎo)出過(guò)程中發(fā)生的錯(cuò)誤或警告信息select-statment利用SELECT語(yǔ)句指定要導(dǎo)出的數(shù)據(jù)EXPORT的例如db2exporttostuff.ixfofixfselect*fromstaffwheredept=20以IXF輸出格式將staff表中關(guān)于部門為20的職員信息導(dǎo)出到stuff.ixfdb2exporttomyfile.delofdelmodifiedbychardel''coldel;decpt,select*fromstaff以單引號(hào)作為字符串定界符,分號(hào)作為列定界符,逗號(hào)作為小數(shù)點(diǎn),將數(shù)據(jù)導(dǎo)出到DEL文件。同時(shí)數(shù)據(jù)導(dǎo)回?cái)?shù)據(jù)庫(kù)時(shí)應(yīng)使用同一約束測(cè)試數(shù)據(jù)db2=>select*fromt1EMPNONAMESEQNO

10你好's130xuxin350bbbbbb680lisi84條記錄已選擇。exporttot11.delofdelmodifiedbycodepage=1386chardel""coldel,messagest1.msgselect*fromt1;導(dǎo)出的文件內(nèi)容為:10,"你好's",130,"xuxin",350,"bbbbbb",680,"lisi",8Export語(yǔ)句案例測(cè)試(1)db2=>createtablet2(namevarchar(20),birthdaydate)db2=>insertintot2values('Tom','1989-1-1')db2=>insertintot2values('Jim','1983-10-1')db2=>select*fromt2NAMEBIRTHDAY

Tom1989-01-01Jim1983-10-012條記錄已選擇。exporttot11.delofdelmessagest1.msgselect*fromt2;導(dǎo)出的文件內(nèi)容為:"Tom",19890101"Jim",19831001注意目前沒有找到對(duì)date類型的格式化接口。默認(rèn)導(dǎo)出格式為’YYYYMMDD’Export語(yǔ)句案例測(cè)試(2)db2=>createtablet3(namevarchar(20),tstimestamp)db2=>insertintot3values('Tom','1989-1-1')db2=>insertintot3values('Jack','1999-1-1')db2=>select*fromt3NAMETS

2條記錄已選擇。Export語(yǔ)句案例測(cè)試(6)exporttot11.delofdelmessagest1.msgselect*fromt3;導(dǎo)出的文件內(nèi)容為:"Tom","1989-01-01-00.00.00.000000""Jack","1999-01-01-00.00.00.000000"exporttot11.delofdelmodifiedbytimestampformat="yyyy.mm.ddhh:mmtt"messagest1.msgselect*fromt3;導(dǎo)出的文件內(nèi)容為:"Tom","1989.01.0112:00AM""Jack","1999.01.0112:00AM"Export語(yǔ)句案例測(cè)試(8)培訓(xùn)大綱數(shù)據(jù)移動(dòng)格式導(dǎo)出〔EXPORT〕工具導(dǎo)入〔IMPORT〕工具導(dǎo)入〔LOAD〕工具db2move工具db2look工具.導(dǎo)入〔IMPORT〕工具Import用于將數(shù)據(jù)文件導(dǎo)入到數(shù)據(jù)表中。支持ASC,DEL,WSF,IXF主要方式:方式描述目標(biāo)表原有數(shù)據(jù)支持格式Insert插入操作需要存在保留所有格式insert_update更新鍵值操作需要存在保留或更新所有格式Repalce刪除原有數(shù)據(jù),插入新數(shù)據(jù)需要存在刪除所有格式Replace_Create刪除原有數(shù)據(jù),插入新數(shù)據(jù)不存在則創(chuàng)建刪除IXFCreate導(dǎo)入數(shù)據(jù)至新表創(chuàng)建新表無(wú)IXF導(dǎo)入〔IMPORT〕工具例:

$db2Importfromtest.ixfofixf

REPLACE_CREATEintotest1例:

$db2Createtabletest2likeact

$db2Importfrom/home/db2inst1/test.delofdel

INSERTintotest2導(dǎo)入〔IMPORT〕工具IMPORT會(huì)使用SQLINSERT語(yǔ)句向表IMPORT實(shí)質(zhì)是執(zhí)行INSERT\UPDATE\DELETESQL語(yǔ)句,因此會(huì)觸發(fā)觸發(fā)器、執(zhí)行日志記錄、執(zhí)行約束檢查和索引構(gòu)建。IMPORT運(yùn)行前必須連接或隱式連接到數(shù)據(jù)庫(kù)。IMPORT會(huì)運(yùn)行COMMIT或ROLLBACK,因此在運(yùn)行前需要發(fā)出COMMIT或ROLLBACK語(yǔ)句來(lái)完成所有事務(wù)并釋放鎖定。Commitcount(或automatic)指定每次提交的行數(shù),以限制日志使用量和提高效率默認(rèn)向目標(biāo)表加X鎖,除非指定”allowwriteaccess”支持的格式:del,asc,wsf,ixf與ixf格式的文件結(jié)合可以創(chuàng)立表的結(jié)構(gòu)IMPORT的命令I(lǐng)MPORTFROMfilenameOFfiletype[ALLOWNO/WRITEACCESS][MODIFIEDBYfiletype-mod[{filetype-mod}...]][MESSAGESmessage-file][COMMITCOUNTn/AUTOMATIC]insert_create-statmentIMPORT的命令FROMfilename指定數(shù)據(jù)導(dǎo)入文件的名稱OFfiletype指定數(shù)據(jù)導(dǎo)入文件的類型,支持ASC\DEL\WSF\IXFMODIFIEDBYfiletype-mod指定文件修飾符參數(shù)MESSAGESmessage-file消息輸出文件ALLOWNOACCESS/ALLOWWRITEACCESS脫機(jī)導(dǎo)入/聯(lián)機(jī)導(dǎo)入COMMITCOUNTn指每n條記錄提交一次,也可設(shè)成AUTOMATIC,由DB自動(dòng)設(shè)置COMMITCOUNT。IMPORT的命令insert_create-statment導(dǎo)入方式:1〕、已經(jīng)存在目標(biāo)表方式:INSERT\INSERT_UPDATE\REPLACE2〕、不存在目標(biāo)表方式:REPLACE_CREATE\CREATE只能匹配IXF格式。IMPORT的命令I(lǐng)mport例如 importfromfilename.ixfofixfcommitcount50000insertintotabnameimportfromfilename.ixfofixfcreateintotabname importfromartexprt.ixfofixfmessagesart.msgcreateintoartists[(column_list)] in<tablespace> indexin<indextablespace> longin<largetablespace>2024/5/2325IMPORT的命令培訓(xùn)大綱數(shù)據(jù)移動(dòng)格式導(dǎo)出〔EXPORT〕工具導(dǎo)入〔IMPORT〕工具導(dǎo)入〔LOAD〕工具db2move工具db2look工具.導(dǎo)入〔LOAD〕工具方式描述目標(biāo)表原有數(shù)據(jù)支持格式Insert插入操作需要存在保留Load支持格式Repalce刪除原有數(shù)據(jù),插入新數(shù)據(jù)需要存在刪除Load支持格式TERMINATE模式終止裝載操作,并回滾到它開始時(shí)所在的時(shí)間點(diǎn)。一個(gè)例外是,如果指定了REPLACE模式,那么表將被清空RESTART用于重新開始之前被中斷的裝載命令,它將自動(dòng)從最近的一致點(diǎn)繼續(xù)。要使用這個(gè)模式,可以指定與前一個(gè)LOAD命令相同的選項(xiàng),但是這一次加上RESTARTLoad不能創(chuàng)立表及索引,故不能使用Create方式。主要方式:Load可以裝入的數(shù)據(jù)格式包括:IXF——也就是DB2export程序推薦的那種數(shù)據(jù)格式,是二進(jìn)制的。DEL——就是分界符的ASCIl文件,DB2默認(rèn)的是用逗號(hào)(,)作為字段列的分隔符,用雙引號(hào)(“”)作為字符串的分隔符;ASC——非定界符的ASCII文件,load時(shí)需要指定列的起止位置;CURSOR——游標(biāo)。導(dǎo)入〔LOAD〕工具導(dǎo)入〔LOAD〕工具不使用日志數(shù)據(jù)加載效率高使用異常表可使用db2listutilitiesshowdetail查看進(jìn)度支持的數(shù)據(jù)源:ixf,del,asc,cursorcursor方式提高一個(gè)數(shù)據(jù)庫(kù)內(nèi)數(shù)據(jù)移動(dòng)的效率空文件可以用于快速清空一個(gè)表2024/5/2329Load的過(guò)程分為四個(gè)階段:裝入,構(gòu)建,刪除,索引復(fù)制。load階段是將源文件parser成物理數(shù)據(jù)存儲(chǔ)的格式,直接裝入到頁(yè)中,而不通過(guò)db2引擎。load階段會(huì)檢查表定義,違背定義的數(shù)據(jù)不會(huì)裝入到表中.

build階段建立索引〔如果裝入表有索引的話〕,會(huì)檢查唯一性約束,違背了唯一性的數(shù)據(jù)會(huì)在delete階段刪除.indexcopy階段將index數(shù)據(jù)從指定的臨時(shí)表空間拷貝到初始的表空間里.indexcopy只適應(yīng)于allowreadaccess場(chǎng)景.load的4個(gè)階段日志會(huì)記錄在messages文件里.導(dǎo)入〔LOAD〕工具參數(shù)解釋messages是追加寫文件dumpfile是覆蓋寫文件exception是追加寫表可以用modifiedby修飾符來(lái)指定:coldelx用來(lái)指定字段間分隔符chardelx用來(lái)指定字符串分隔符codepage用來(lái)指定編碼。db2=>loadfromt1.delofdelmodifiedbycoldel,chardel’’codepage=1386dumpfile=t1.dmpmessagest1.msginsertintot1forexceptiont1_exp導(dǎo)入〔LOAD〕工具導(dǎo)入〔LOAD〕工具設(shè)置為歸檔日志模式的數(shù)據(jù)庫(kù)的本卷須知Copyno默認(rèn)方式執(zhí)行l(wèi)oad后,目標(biāo)表所在的表空間將被置為backuppending狀態(tài),只有對(duì)其執(zhí)行備份后,表空間才能被訪問(wèn)。目標(biāo)表可以讀,但不能進(jìn)行增/刪/改。而且load命令一旦發(fā)起,表空間立即處于backuppending狀態(tài),即使終止load操作,也不能脫離此狀態(tài)。Copyyes選項(xiàng)會(huì)在load結(jié)束時(shí),自動(dòng)對(duì)表所屬的表空間做一次備份,load結(jié)束后,表空間狀態(tài)為正常。但由于要備份,所需時(shí)間要長(zhǎng)些Nonrecoverable目標(biāo)表空間不會(huì)被置為backuppending。影響使用數(shù)據(jù)庫(kù)的備份執(zhí)行恢復(fù)和前滾。速度快Nonrecoverable將表標(biāo)記為不可恢復(fù),如果以后需要恢復(fù)表空間并且回滾到nonrecoverableload選項(xiàng)之后的某個(gè)時(shí)間點(diǎn),這個(gè)表是不可恢復(fù)的,所有與該表相關(guān)的日志會(huì)被忽略,你只能刪除并重新創(chuàng)立表。因此,這個(gè)方法一般用在表可以被重建的場(chǎng)景中。2024/5/2332導(dǎo)入〔LOAD〕工具查看表的狀態(tài):loadquerytableschema.tab Normal CheckPending–setintegrity LoadinProgress LoadPending ReadAccessOnly Unavailable NotLoadRestartable Unknown2024/5/2333導(dǎo)入〔LOAD〕工具CheckpendingLoad工具在執(zhí)行過(guò)程中關(guān)閉約束檢查如果父表處于checkpending,那么依賴的表也會(huì)處于checkpendingSETINTEGRITY用于將處于“checkpending”狀態(tài)的表恢復(fù)至正常狀態(tài)例如: SETINTEGRITYFORSALESALLOWREADACCESSIMMEDIATECHECKEDFOREXCEPTIONINSALESUSESALES_EXCEPTIONS2024/5/2334db2=>createtablet2(col1char(10),col2char(10))db2=>altertablet2addconstraintcheck1CHECK(col2in('A','B','C'))db2=>loadfromf:/t2.delofdelinsertintot2db2=>select*fromt2COL1COL2

SQL0668N不允許對(duì)表"HANDSOME.T2"執(zhí)行操作,原因碼為"1"。SQLSTATE=57016db2=>setintegrityforhandsome.t2immediatecheckedDB21034E該命令被當(dāng)作SQL語(yǔ)句來(lái)處理,因?yàn)樗菬o(wú)效的“命令行處理器”命令。在SQL處理期間,它返回:SQL3603N通過(guò)SETINTEGRITY語(yǔ)句來(lái)執(zhí)行完整性處理時(shí)發(fā)現(xiàn)了完整性違例,此違例涉及到約束、唯一索引、已生成的列或者基于XML列的索引。由"HANDSOME.T2.CHECK1"標(biāo)識(shí)了相關(guān)聯(lián)的對(duì)象。SQLSTATE=23514導(dǎo)入〔LOAD〕工具db2=>createtablet2_expliket2DB20000ISQL命令成功完成。db2=>setintegrityforhandsome.t2immediatecheckedforexceptionint2uset2_expSQL3602W檢查數(shù)據(jù)處理找到約束違例,并將它們移至異常表。SQLSTATE=01603db2=>select*fromt2_expCOL1COL2

CCCCCCDDDBBB2條記錄已選擇。導(dǎo)入〔LOAD〕工具以下語(yǔ)句可用來(lái)檢查表的狀態(tài)、是否允許訪問(wèn)及表的主外鍵約束、檢查約束等。db2=>selecttabname,status,access_mode,substr(const_checked,1,1)asfk_checked,substr(const_checked,2,1)ascc_checkedfromsyscat.tableswherestatus='C'導(dǎo)入〔LOAD〕工具導(dǎo)入〔LOAD〕工具

DEL文件分隔符的指定Load工具可以使用modifiedbycoldelx指定特定分隔符。1386編碼下,”|”作為分隔符會(huì)發(fā)生處理故障DEL文件格式注意DEL文件的編碼格式是否與目標(biāo)操作系統(tǒng)環(huán)境相吻合??梢越柚恍┕ぞ哌M(jìn)行轉(zhuǎn)換代碼頁(yè)轉(zhuǎn)換問(wèn)題使用load工具可以使用modifiedbycodepage=1386來(lái)指定代碼頁(yè)。Ixf格式的文件一般會(huì)自動(dòng)轉(zhuǎn)換代碼頁(yè)2024/5/2338導(dǎo)入〔LOAD〕工具編碼問(wèn)題的典型案例需要將編碼為1386(GBK)的以”|”作為分隔符的del格式文件內(nèi)容,導(dǎo)入到1208(UTF-8)編碼的數(shù)據(jù)庫(kù)中。處理方法-任選一個(gè)將分隔符替換為逗號(hào)分割的文件使用load的modifiedbycodepage=1386或設(shè)置db2setCODEPAGE=1386,然后使用import導(dǎo)入或?qū)⒃嘉募木幋a轉(zhuǎn)換為UTF-8,設(shè)置db2setCODEPAGE=1208,使用load的modifiedbycoldel|導(dǎo)入2024/5/2339發(fā)生截?cái)鄷r(shí),拋出“SQL3125W因?yàn)閿?shù)據(jù)比目標(biāo)數(shù)據(jù)庫(kù)列長(zhǎng),截?cái)嗪蟮臄?shù)據(jù)還是會(huì)寫入目標(biāo)表。類型不匹配的,拋出類似如下的異常:如果目標(biāo)字段沒有NOTNULL約束,目標(biāo)字段的值為nullSQL3119W不能將字段值轉(zhuǎn)換成INTEGER值。裝入了空值。否那么:SQL3120W不能將字段值轉(zhuǎn)換成INTEGER值,但目標(biāo)列不可為空。未裝入該行。并將該記錄寫入dumpfile對(duì)應(yīng)的輸出文件中。導(dǎo)入〔LOAD〕工具導(dǎo)入〔LOAD〕工具例如 db2loadfromstafftab.ixfofixfmodifiedbyanyordermessagesstaff.msgstempfilespath/u/myuserreplaceintostaffcopyyesto/dbbak/tmp/DATABUFFER10240CPU_PARALLELISM8

DECLAREmycursCURSORDATABASEdbsourceFORSELECTTWO,ONE,THREEFROMabc.table1 LOADFROMmycursOFcursorINSERTINTOabc.table2 createtablet1excas(SELECTT1.*,CURRENTTIMESTAMPASTS,CLOB('',32767)ASMSGFROMT1)definitiononly db2loadfromfilename.delofdelinsertintotabnamemessagesmsg.1forexceptiont1exc2024/5/2341培訓(xùn)大綱數(shù)據(jù)移動(dòng)格式導(dǎo)出〔EXPORT〕工具導(dǎo)入〔IMPORT〕工具導(dǎo)入〔LOAD〕工具db2move工具db2look工具db2move用于將數(shù)據(jù)庫(kù)所有的表導(dǎo)出、導(dǎo)入〔遷移庫(kù),尤其是不同操作系統(tǒng)間,不同版本數(shù)據(jù)庫(kù)間〕。支持的action:export,import,load,copy。自動(dòng)的導(dǎo)出和導(dǎo)入一批表。導(dǎo)入(import,load)自動(dòng)讀取db2move.lst文件。Copy模式下可以用于將源數(shù)據(jù)庫(kù)指定模式下的所有對(duì)象復(fù)制到目標(biāo)數(shù)據(jù)庫(kù)〔ADMIN_COPY_SCHEMA可以用于在數(shù)據(jù)庫(kù)內(nèi)部復(fù)制不同模式的對(duì)象〕2024/5/2343db2move語(yǔ)法:db2movedbnameaction-tctable-definers-tntable-names-snschema-names-tstablespace-names-tffilename-ioimport-option-loload-option-cocopy-option-uuserid-ppassword-aw2024/5/2344db2move-ioimport-optioncreate,insert,insert_update,replace,

replace_create(def)-loload-option

insert(def),replace-tfexport-option-filenamelistexportedtablenamedb2moveExport,Import和Load每次都只對(duì)一個(gè)表進(jìn)行操作。但是您假設(shè)使用它們來(lái)寫一段腳本,就可對(duì)一個(gè)數(shù)據(jù)庫(kù)中的所有的表進(jìn)行操作。db2move可以更方便地完成同樣的工作。db2move工具只兼容IXF格式的文件。db2move工具語(yǔ)法格式:

$db2move<dbname><Action><Option>Action:Exoprt,Import,Load,Copy$db2moves

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論