DataService-操作手册_第1页
DataService-操作手册_第2页
DataService-操作手册_第3页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、DataServices 培训总结 -操作手册目录一、DS简介2二、DS数据加载方式 2三、DS进行数据抽取模型开发的根本过程 3四、DS创立数据源系统和目标系统的数据存储 31、Oracle 数据库作为数据源系统 32、ECC作为数据源系统43、HANA 数据库作为目标系统 5五、全量加载过程 51、创立 Project 和 Job 52、导入源表的元数据到资源库 63、创立 Data Flow 64、设置源表和目标表 75、手工执行 Job 7六、基于表比较的增量加载 81、在 Job 下定义工作流 82、在工作流中定义数据流 83、参加 Table_Comparison 控件 94、设置

2、 Table_Comparison 控件 9七、基于时间戳的增量加载 101、在 Job 下定义工作流 102、定义 Script 控件 103、定义处理新增数据的数据流和处理更新数据的数据流 11八、DS中常用控件介绍 131、Key_Generation 132、Case 133、Merge 144、Validation 155、设置过滤器和断点 15九、定义 Job 定期执行 161、登录 Data Services Management Console 162、定义 Batch Job Schedules 17十、其他本卷须知 18DS简介SAP Bus in essObjects D

3、ata Services是通过 SAP HANA认证的ETL工具。 采用数据批量处理的方式,定期执行后台作业,将数据从多个业务系统中抽取出来,并进行必要的处理转换, 合并,过滤,清洗,然后再加载到 HANA数据库中。DS的组件之间的关系:Ptefjossito ryDhE;計门门Fl*名艮 口i 咐匕 tcxitr*ServerMan ageme nt Con sol :管理控制台是网页版 DS管理工具,可以进行一些系统配置和定义Job执行Desig ner:Desig ner是一个具有易于使用的图形用户界面的开发工具。它允许开发人员定义包括数据映射,转换和控制逻辑的数据管理应用程序,创立包含

4、工作流作业执行定义和数据流数据转换定义的应用程序Repository :应用程序设计器使用的本地资源库用来存储Data Services对象如工程,作业,工作流,和数据流的定义和源和目标的元数据Job server:作业效劳器启动数据移动的从多个不同种类的源集成数据的引擎,执行复杂的数据转 换,并管理从ERP系统和其他源的抽取和事务、DS数据加载方式全量加载增量上载a基于表比较作业在执行时读取数据源和目标中的全部数据,在效劳器的内存中进行比较, 计算数据 差异b) 时间戳增量需要在数据源中添加时间戳字段,一般为创立时间和最后修改时间,在抽取作业中定义对两个时间戳字段进行比照,符合条件的创立时间

5、条目进行插入,符合条件的修改时间条目进行更新c) 利用数据库 CDC( changed data capture)首先需要开启数据库的 CDC效劳,为数据库实例启用 CDC功能,为源表启用CDC功能。 在这种模式下,DS的增量更新不再直接访问源表,而是在与源表相关的变更记录表中读取 增量三、DS进行数据抽取模型开发的根本过程为数据源创立数据存储导入源表的元数据到资源库为SAP HANA目标系统创立数据存储新建DS工程和批量作业新建DS数据流:定义源表和目标表,定义变量、编辑Query和Map_CDC_Operation执行批量作业Sourceata加 LHANA四、DS创立数据源系统和目标系统

6、的数据存储1、Oracle数据库作为数据源系统登录Data Services Designer,在本地对象库的数据存储页签中单击鼠标右键,选择新建菜单lid亡NJ Object, LAib rary |a Xtwy iAPII£TE£TEat <i tor SCQDC Ecrjt HADJIS HJCD_¥«LLHAl*赴_Dil 整 fE4 _DAT ASTO1LE WQH_D «l9 < er «LJfitsnDCJtJfi回E3Qb> |V/ gp . r? I . Jlrjr-. 口°也訂固 Fur

7、 , | 才匸m ,|创立数据存储“ EAM_TEST,在弹出的对话框中输入EAM数据库的连接信息I* BalI hlk t «r AdvarK(*d >>色PP*Y口ant曰I2、ECC作为数据源系统同样在创立DataStore时,输入ECC的连接信息-c -cCwnfigur 4CI«i s; L匚鼻ncaiI3i知AATLr =,3、HANA数据库作为目标系统在创立DataStore时,输入HANA数据库的连接信息五、全量加载过程1、创立 Project 和 Job创立工程“ ERP_DS。双击该在本地对象库的project页签中单击鼠标右键,选择新建菜单

8、,工程,在"Project Area,可以在该工程下创立 Job:Project Edit View Took Debug Window H elp=匚'夕丨* j 上丨議i商二;m圖口丨pm驚日IXLCt2、导入源表的元数据到资源库在本地对象库的数据存储页签中,选择源系统的数据存储,单击鼠标邮件,选择“Import ByName,输入需要导入到资源库的表名称。导入成功后,在数据存储的table目录下可以看到导入的表Lo匚已H Object Library(epos i toiry? RepoSAFDSTESTD at altersDescription白.ECQ500IDO

9、CsODF abjactsTablesODO 71 (JCQ500. >EEkKCE匚 QEOQ )EBKISCQSDO.)EKBE CECQ5O0.EKET (ECC5O0.IKMH CECG5O0. JWO TEXT AVAILADLE FOli TAilLEPojt c ha e » F£a qvz. "E i t £ artrurchsetioa Acc TuntHO TEXT AVAILLE FOR TA3LENO TEXT AVAILABLE FOR TABLEEDOTTIKEEEKETHO TEXT kVAILABLZ FOK TAB

10、IZ EKKN3、创立 Data Flow单击“ Ge neral Job,在右边空白区域单击鼠标邮件,选择“ Add New Data FlowViF ri aOilu I* <* iJ Oc s c r i |u-b I n>>F-i's-E rn - b IW CkbJ crt vl 戸11 Np r*»=5口*ZtFl 亠 乂Ct rl - C!匚曹rl «-FL-m c. owm r Mik D a t. v cdAudit.viujConnect1 T oB背口 wr-i-a r Mt v A TIL;.-13一4、设置源表和目标表单击

11、创立的Data Flow,将需要导入到HANA数据库中的源表拖入到 Data Flow区域中,将Data Flow区域右侧的工具条中的模版表拖入Data Flow区域创立模版表总一胪芋IMlgIEZGJJT 窗输入模版表名称、HANA目标系统的数据存储、HANA数据库存放DS抽取数据表的用户名。连接源表和目标表双击模版表,设置“ Options 中的“ Use NVARCHAR for VARCHA0吐J Bulk lAfedtar OpttmE | Laad玄4 C£nnHKd.£ | Pcsid CamuuiEw fl- 5 r.IfIp rsf a fiia i fr

12、frl Vfar 1 r s, Tir: 厂w.d rs-Ithlt 而Nai114 c-citccH Lu髦dAlli'iVlijix*?- 1Ndi屠丁护or*工tn i th tsIu-aC43ilaJ事旳i*亡ti j-tbi gUWat Aypli£4.3J.<IEI TrMseclioil cnlr*!rudltLlG< Itt Ir-SEtt1 &SiiHa 1坯=01 STi -Qfifll141 Af pli(4i>leE : it更H1e UWRm ff r '/ItBrHAt scItiw. in tnf j hrti4

13、1 H尊“1沁显習| Yti叩? 3bl« In?匕:可Adv iTiC e i'.5、手工执行Job选择Job,单击鼠标右键,选择"Execute执行成功之后,在 HANA数据库中的ERPDSUSEF下可以看到“ T161T,可以查看数据表的 内容。执行过程信息和结果可以在监控器中查看。f口1T¥C<-*J L32CQK C- 03JCB3沁軸l«Q$4eawiajnL325CEicm2OL6fl2E »fi7l£4_y Ln益云K B JOBL3iJ6aEfimnsnifizxz Sirtsria0 L 3292e&

14、#163;1DBXjB白fi 引NE 971.31应 L 32W02iOL6L2JZZ-別弓巧 3j!»<«atmha W iifinva与 L32GQCJUBJOB2Oi af-L2233-*J L32QCK-B-3U3JOBSDl.Bi/'i.JjXZ fl*/: 33$讳吗池H7*-l-iAfAFl 艸呂QMfW播阳7i許 L5-*M2OL«fl2E- 9rEi7i 37L34ZDE 4riMJOBSDi&f 1.22 Q出于®T ii*snE需丁尸p?T| ip?*SOI | zj>z ?EW?r J7科 LS-faD

15、A'AFLdWSWEJW SLBTi j?L*aa切沪ID14TAFl. i:jW金CH百fU丿從期馬A|拥<y ir 価l#75MnrAFi nWzpiefijjn 再和370 L5 42口£ "IM日 LdOAC201&|*-|222 g7s27L弓稈创t i|7lHdLELCWCSOrlbil*7: 37"-W"iATAFl ArS&WLajtt M?|4J_y Ls-*saEjA AFL DW2OL«fl2E- rE7H斗 L JZQ1-B-insjOB三口日f丿人二诵】MSHOIFTih In-rD-TT

16、writtnai* tzwi EDW-cvd iln "lLJ-iIcc d«i LJl恶鼻刃* cF7 * iL >7*bJ2c5*G fTW 蚊* rCOftOi-vJ Sfl占l札PLirni!cd-归匕 WP尹_u L盂工_* bcE>_H S_】lv Z护3«rvK-Hvblni> aiarUrig jobn g<ab-sei vet hifisc zSiMDSrEST >, poit <3500 :.Job -testL口F «Hjr.kj wZOir id:5i-M2It?LCOv 4t f>t&g

17、t;乐sd bv iM*r £A, r- 置pfL >Optiiixmg inb3 > .Jeb Vban4 L > >la *".,.-. . u. .f il , | . » p i I - - !>loti slh!lr«a h- s-ns:>dew fcr:«ifr <EC-«:55Oa> ror:iBn<s-Dz<l& tetvv"!-er' er>a»_e' cocfe-|tUUF-EIH事 i« fKr

18、vtCacI"£ wLai曲:匸h*l dacj fl斗 <T L.S 1 l jFULl>0 each右f e Hi ± bz<ckiT b?) 9570*7906 !3vtw: Bailabi? g cadhw In virtual hmohj# 冒ta flow Tl u (-44 iFJge* <T fr|> uing MEPtBV 匚何h?I-SAN t«fal« -tTlttl T s-, trpa Curiurwri Bb3* cDmrrifc aEn c 3 nr ID j-a *-ka c o-r

19、«Ek « vtalalM rsria VikfSkA rtw <Ts6iTFU.1 * 1# coTHrJfd 左由ndpb乍F*c:esi:疋口 bxeoj" dat-ib n«:*u <rj tf.|i_p<jLL > a cow pi: edJ cab TbaL _r> la - _rii fjihllHd H_»EcvnFhil.六、基于表比较的增量加载1、在Job下定义工作流EEKO JTibleConpaxe2、在工作流中定义数据流EKKO Tabled omp az e在数据流中定义源表和模版表,执

20、行 Table目录下可以看到创立的模版表Job,执行成功之后,在目标系统数据存储的Template3、参加 Table_Comparison 控件选择模版表,单击鼠标邮件,选择"Import Table 模版表会更新为Tables目录下的数据表。 通过将转换-数据集成中的“ Table_Comparison 控件拖入到数据流中的方式添加“ Table_Comparis on "控件将源表连接"Table_Comparison "控件,“ Table_Comparison"控件连接目标表。EKKOfECtaSOO,)W>|-TablejCo

21、mpax isanEKKOtHAD J)S*EKPDS.4、设置 Table_Comparison 控件双击"Table_Comparison"控件,设置相关参数:比较的目标表、表的主键,需要比较的字 段。当需要比较的字段为空时,会比较所有字段。 建议按照需要填写需要比较的字段,可以加快处理速度。保存后执行 Job。七、基于时间戳的增量加载1、在Job下定义工作流EEAN_TIME STAMP在工作流中定义Script控件,读取数据抽取后最新的创立时间和更改时间,定义一个处理新增数据的数据流和一个处理更新数据的数据流2、定义Script控件在Script控件中需要使用变量存

22、放读取的最新的创立时间和最新的更改时间。 选择Job,在工具栏选择"Variables按钮,创立全局变量珂firojecl £drt 欢vr loots% 厘ntlaw yetptg乌I WO% * | q 口 O ?卜丨.EHf_KGtaifertl;Pur ck«stOrd«r4J 出 EKFO_TtLbleCM|>tf« 穷 比 EKKClThU«C«Pu *| /r E)ZET_T«.bl«Cc«p«r« 弐 士 En0l_T«l4C»ptf

23、« 母 i i= Ef3E_7<r «PuTeki <R* quesVnabiM tnd Pwametm;XConttz t. f tnf c h m*K# qu * s. 1_! -| ¥ <Lp.V VviKbX|虱讥vw itblv OVbEE1M_FUOJ_十 isjm.tiiiisrwyir口 M KD.1BAMTIHEST MlG $EFDAT 电> SflEDiT C环刈灯由 > lFJUr_>£SI G HI MTQ _T*V1 tC oAp- ® MillDefinitions Cftlh双

24、击“ Script控件,编写 SQL语句,从HANA数据库表中读取最新的创立时间和更改时间Functions,5ERDAT = sqL(? KAE_DS n select (ERIUT) froin ERPDSUSER. ££?): if (tERBAT is nu口)$ERBAT 二 sysdatet ) + 1:$BADM = sqKHAD.DS1, r select max (BADAT) from EEPISUSER. EBM ): if ($BABAT is iui口 ) SBADAT = ta_datECJ 1900. OL 0T/ YYYT. IH.DD1):

25、print (JERDAT):print ($EADAT) ;|3、定义处理新增数据的数据流和处理更新数据的数据流双击“ EBAN_New数据流,加载源表,Query, Map_CDC_Operation控件和目标表IBAN:ECGE00flueryMynjCTC.Dpeiatioti餌番(TUD_D51EKK5L. L双击 Query,在输出字段中增加“ Sequenee和“ Operation 两个字段。“Sequenee字段 使用函数gen_row_num()进行赋值,“Operation 赋值为 I'缎岀艸皿| SEICTTRCM通IHEKfGROUT BT'戒 OME

26、R BYA.luanc#d | Finde Fujicti onE . . J|ProposeJoin|Tl oma_ins.''1 '' ' 1KEAN. BABA? > JBADATQvieryTcuD unux i p_卜"血口 卜 AU ALU> 5ERKHnum a r i c ol-i vfiifMSUB SOBSSFSPUR1ISITB KUUHRM3UTfc_VTElJ?V"-M. cJ.-L-3JL 1 D ) vjr cliair ft 0 )U1SUB PUKK1 <5EBAH.EEAM.EBA

27、NABACNSISRITMSlfILL囂口EJJAM. DISH. -EBAF. BISW. _KB AIM. UISU _A1 f Cl- dJtW oitLe. iiru工 turne.11 afh StlliMEVl_OtfWER* IUTD .EELEVAKTSGT SCAT> SGT_flCAl,>MtleiLU eOlia 11 c nEEAF. BISH. - B.oEBAM. llfTD.=.I1CTD 聪ERAK EilTviireKor U 6 JEliAfil.宜册一-KaquiTai亡hit Cl J5在Quey中设置 Where条件双击 Map_CDC_O

28、peration 控件,设置 CDC Columns dp CDC 0«rati on.-CDC Colunm-SfirLitrig eftlumri:|Se qxieii.eezllRow opeiratioTir|0p«r at ion-Sfirtingp Input -ilrtadr srt ed bycolu/niiAddi 1 ionail grouping colum皿同样的方式定义"EBAN_Upd'数据流,在 Query的where条件中定义为在Query的数据结果中增加"Sequenee和"Operation 两个字段

29、。"Sequenee字段使用函数gen_row_num()进行赋值,"Operation 赋值为'U'-卜 SGT_RCATTar char (16)EBAN. SGT_.i ntg8it_r:卜 Oreratioiirar ch.ar (1)Rirb-1保存后,执行Job。可以通过修改源系统数据测试基于时间戳的增量加载。八、DS中常用控件介绍1、Key_Generation在源表根底上为目标表重新生成主键9CAER(ECT_DataEto. . . (ueryKey_Generati onSCAER_WITH_KEY(HA.在Query中增加“ ID&qu

30、ot;字段,赋值为 0。TypiDixrr Lpli caC-xx.1 an! Tk>iBu i刁2O£lAulaiu|UnUTLq 蛍Hv«nlirWlJp压o-GJAirlaDiCob匸hUAlflSTtfirE9 ELRJCnr?寸炉L>CO MHrMY * .UK.-MrcLtt KIAuliuiTO.Huniaiv«icripLl:El Iwiy1+ p0L 卜 ckbriiinr dur DJ丈 AIR 匚 £F£口Ab rlsca C<卜 laUJaUL-ir dhu- MT5C3 3Ai l-ligu- iJS

31、MhEg如> JELTV 吕AX .arm m匕 th=a. 17| smirr | m | fsi | nriv | dhie | 阳五“IBI Eitii |在Key_Generation控件中设置目标表、主键字段、主键值增加量KeyonTable nyn$:牍 Batistori.SLTADM.SCAUR HTH KETGenerated key colunrL:Incremerkt value:2、 Case将源表根据规那么进行拆分双击Case控件,设置拆分条件当 SOURCE = 1 时,输出 SPFLI_1 当 SOURCE =2寸,输出 SPFLI_25cnRrr-

32、3;rriFfT Tyj*-迢 SfTH rJJWl忸 SDinCELai务 r.uurrVETch-i-馆*叫 LJiElLLU卩* cha a屯 auffliDTmw a C EC 0)gun圖VU-(lhiA£ Clj iQTWMI!vw-chir 如|切“E.x.t 耳巾f口亍 hsif'LlMlnriw or r 直踣P 鼻畔 raji h TBJFI E*r ar eh onljr厂 fteservi eRtreiiLflii af iw3、Merge将具有同样数据结构的源表进行合并SPFLI (ECT DatMto.iuery在Query中增加输出字段Sourc

33、e,赋值为1。在Query1中增加输出字段 Source,赋值为2。在Merge中将两个表的内容合并输出。ZMTTbJJiv 二J三elJ心"FkF 沖 E*"I 二片II f>l a IH!t % U»TRL. fJdOIEiraiTID ratrrhrTti nrrnwnj'PTFwm rmfc豐“益説X 4:3FUIWE rarm umire1 raTFMrfDirc rurrrE riXIDDCl 1-ilR.JU-j 3 Lm 5bT1 i rMUrfC b-s.C-T-uilrr fci 1-af-ig' K U"b I

34、 Cfi i-aj-ET 4nr« vi rpwl r Lial j Ka rJua Jral 已“1-ii-lii-MiAL-W!»TludW 1L«Ars'jTal LjeIhAI wbiv w mu t 沁-Ias.714 Lj>vJuv j-F, Ji SaJ.MErr cMFCJEi cnwiDcmrracw 吐 ITtBCW CULUJbtlO >.1L h JU 眶El Ftni"c rmiff讥小"小m a-:!也4hj kJ. hr D ? HAC1C3:<lna 4勺IAhJ C"*

35、71;T idiU: Fl db-nt 上口 «C1TAl iiXrix.Tl. i !.I.:.E p *.>ir « M.rpur *. 09畑丫 Kay dk'j: »<l1 vL Ip中沾严riiT1 J13B-IOv|b-Hrirn kk! 11 "Hi IM4. v*Vu* <di i «C dl* . rijd" <r>«Art l Ygj kCif .出 ElW-Ck% cuhtp生 mwFio rainTHFR!L nTTFHP" I uvnmL Dl'

36、;M I hJ LU| raTTTO"iMSTTO£ njinr"ElFTmf:A»rm KSTiWrTt iwrr'rlinob4器忍总娜 "器CidwKJLIiS j.Mfl I1-iij-U' .ws cd tj- 珂巧"ir vlrpwi C-:-ir.trr K«vAilUA.1-hfi LuLiL-KTi Mrpw*11-rt-u* mrii1 bll UkE4H s-aa snJ h. cf dLas.IllflLI iKrtAr ? . + Ji iiJ.4、Validation提取数据源表中

37、的正确数据,将错误数据单独存放在其他表中双击 Validation 控件,设置"Validation RuleL<j»i l( MILL 虽“申 JXL IT如 Ua-kiv5、设置过滤器和断点过滤器和断点结合使用,用于设置Debug的条件选择源表到目标表的连接线,单击鼠标右键,选择Set Filter/Breakpoint,设置Debug条件当满足某种条件时进入断点,或者在满足过滤条件的同时执行多少条数据后时进入断点USTin2(KrT_Tlii1:fluTD.,.USROaiHANAjJitzLEt.kTo create Filter select colunra

38、n namo and oporatog then cnteraiTocwditioral paranmDiorSj solocr Kiuwnna<ncand ppcotpr; fchcr enter a vD(ucrT Vr«akT4int; fro* OSKD2 (CCT_Va<. >> to <VJIU2 UtAJf Jl_ll a 4 a 匚 t£I_T A 回曰而 EnableCuiitale lale all lu ilIiIIu 旧 ul i口:ColumnOperatorVolucUSRW2fANAlMEiBeginf 牝比hpw

39、cCufiLaleridLE! dll'tof idliurui Uihu:& break after number of rows:AAC> _£硬 5et 应 Enable选择Job,单击鼠标右键,选择Start debugProjeet AreaF CJ eetj)s+ General 由 疔 Furchiseardr 由矽 PlLi. uli.a.cFte 号戈iu 乩 L®j Exetute.I itart debug.,.RemoveRcrtdineRemove BypassPropertifc.,.Debug工具栏上的按钮可以控制执行下一

40、条数据、继续执行、终止巴上透我至1區血丨Debug过程中进入断点后,可以一次查看数据加载结果2J111 CBCTW iKr* )目铝占电0 F古-f :讲国hjJ 亍 > !M j 1000E<KWKCKaiwA卿討7沾OE&“亦am Qi di“l OfewES JCTIEHSiTSJWCMlFKFS9-sm Qi 01jm Hiin oijoiLu >l ei I九、定义Job定期执行1、登录 Data Services Management Console单击工具栏的"Data Services Ma nageme nt Con sole 按钮.如 冲

41、 r-rff- imjs.阳JI' " % £ 口庖口 2 炉卜卫 o h* ULi 世J * 丄.I .1七運遽Uh d <进入 Data Services Management Console 的登录界面SAP Data Se rvlceaM fl nagom* nt Con»ol0Loa On to thi» Dam SofvIob iviBLn口鼻fn Console甘 Hi*H kl I- H- !»«*» h f«dfe K 9h fer I IIAJ 1 tM-lB1T 存d -

42、1;-« iLfHJLir!* of your -account inflor ry-tlon,ycpj f Je】 *Je> r e tr<aB>r J单击进入 Administrator界面AArii? >ninnViifrl»ii wei!rFslj-l ir.3hw nil-"0h ,hiji fiHHjijizFCiH -bnv0h*neM ir- iud*n b?!r*i lob 申1/旳h fe* DriTiQ tdlMCiaSi.,L Qi A>±£ip1£ IhjfiiiarK -f f

43、ilr&r d>Z ntail AfiQiMBflirr fr DaMloH帀t>疋'*“ dn Jlyzr, &L n jrflfh |r»I rnir JC-nl jUgric,of nil Dtijr-rk- pe -iepirleif m 1h Plrip 84141 DRVlgH* IrWIuMl p livk1 TVMlWtlhlRVi. pr9pV44V|. aritf nriara.EvwliLria-,D-|a i&liliillili' 口f vdu- taratdatH ba«4d jr-i llU MillCiaiiari rb i-i y£iu ttswd 1*1 i/wr D-Wlsh-aichRbfW quicMyrww*. ws-e-s, *hd|*CE叶 p£>1drT-&4|l Ir1t£riti tari Or £ fr'M G "

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论