datastage数据同步.docx

上传人:b****4 文档编号:2967729 上传时间:2022-11-16 格式:DOCX 页数:10 大小:516.05KB
下载 相关 举报
datastage数据同步.docx_第1页
第1页 / 共10页
datastage数据同步.docx_第2页
第2页 / 共10页
datastage数据同步.docx_第3页
第3页 / 共10页
datastage数据同步.docx_第4页
第4页 / 共10页
datastage数据同步.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

datastage数据同步.docx

《datastage数据同步.docx》由会员分享,可在线阅读,更多相关《datastage数据同步.docx(10页珍藏版)》请在冰豆网上搜索。

datastage数据同步.docx

datastage数据同步

数据同步

Datastage安装完成、创建工程后,双击“designer”客户端图表,运行该客户端,创建connection文件夹用以保存在以后job中使用的数据连接(数据源),在“表定义”文件夹中创建相应各个数据库针对的不同文件夹用以保存从不同数据库中导入的表。

创建“参数”文件夹用以保存工程中使用的各个参数。

每个job编辑完成后要先进行编译,编译无错后,才可以进行执行(菜单栏图标分别为

1、并行job

并行job,用以实现单个表的数据同步问题。

在job文件夹下创建该类型表的对应文件夹,然后在其中选择新建并行job,创建成功后,点击保存、命名该job。

工具栏内提供需使用的各种插件。

2、参数&参数集

用以实现对数据同步的条件控制

3、序列job

为方便对多个同种类型的表进行统一调度,序列job可以将并行job串成一个job

4、任务调度

使用dsjob.exe实现对各个工程的脚本执行

5、例子

a.创建并行job

在相应文件夹下,选择新建-》并行job

创建成功后,选择保存,输入相应名即可。

b.创建数据源,导入所需表

在connection文件夹下创建本job要使用的数据源(如已有相应数据源则直接使用即可)

在弹出的对话框选择-》参数tab页,点击右侧按钮选择相应的数据源类型后,按照要求输入相应信息即可,点击保存。

在表定义的相应数据库中选择导入所需的相应数据表。

c.编辑并执行并行job

1)目标源创建

建立好数据源后,在工具栏内找到本job相应所需要的源端数据来源类型,如sqlsever或oracle小工具,拖入到job页面。

同理将目标源拖入到job页面,在工具栏的“常规”tab页找到链接,将二者相连接。

以sqlserver为例,做以下说明(oracle与db2类似)

第一行填写查询语句,也可以读方法选择生成语句,然后由自带builder进行查询语句创建

创建方法如下:

先选择读方法=builder生成器,然后点击查询后,出现构建sql按钮,点击后,出现如下页面,将所要做源的表从表定义相应位置拖曳到右侧空白处,全选列拖入到中间列表出即可。

查询条件若无可以选择null,然后点击确定即可。

若该查询涉及条件和参数可以在生成的sql基础上进行修改,生成sql后,将读方法改为用户自定义sql,在sql编辑框右侧按钮可选择插入该作业的参数如时间参数等。

填写完毕后,点击查看数据,若可看到相应数据,则数据来源设置完毕。

2)目标表

本例子中,目标为db2数据库,具体设置如下图,sql语句也可以选择让系统自动生成,填写相应表明即可。

只插入新增加行方式和先删除后插入等方式需确保目标表和源表都含有主键或唯一键。

3)参数集、参数

对于有些job需要使用参数,如时间参数用以减少每次更新数据的压力。

如以下语句即使用了数据集SA000HN下的参数datetime_1和date_time2

SELECT

SP001HN.date_time,

Fromesair.dbo.SP001HNASSP001HN

WHERESP001HN.date_time>convert(DATETIME,'#SA000HN.date_time1#',120)andSP001HN.date_time<=convert(DATETIME,'#SA000HN.date_time2#',120)

参数集的创建,在参数文件夹下选择创建参数集、保存即可,在弹出的对话框内设置改参数集下所具有的参数,参数集内参数的值可以设置默认值也可以使用文本模式传值进来,本工程中为实现数据的实时同步,采用的事使用文本文件方式。

在C:

\IBM\InformationServer\Server\Projects\lhbdc\ParameterSets文件夹下可以看到设置的各个参数集目录,在参数集目录下创建txt文件,该参数集可以识别到,并分析出相应的值,但是txt文件内参数名的格式要严格一致,例如如下样式:

date_time1=2013-04-2516:

00:

00

date_time2=2013-04-2616:

00:

00

创建txt文件后可以在参数集该参数集属性值内看到该txt并默认识别出参数和相应值

选择该参数集图表拖入到相应job页面后,该参数集即加入到该job中,在sql语句中选择添加作业参数时即可以看到该参数集。

Job创建完成后,选择编译,无错后选择执行,若无错则可将其加入到该类型的序列job中。

d.创建序列job

在新建中选择序列job并进行保存。

序列job需要一个startLoop插件和一个stopLoop插件,然后将组成该序列的并行job图标一个个拖入,链接这些组件如下所示。

StartLoop和EndLoop必须构成回路。

Start组件设置如下:

每个并行job设置如下:

编译无错,执行即可,该job执行会在director内发现所含有的并行job都进行了依次执行,如其中有并行job未进行编译将中止报错。

e.执行脚本

dsjob语句

C:

\IBM\InformationServer\Server\DSEngine\bin\dsjob.exe-run-modeNORMAL-jobstatuslhbdcDC_SEQ_KQZ_SG_MN

>>e:

\dslogs\job_DC_SEQ_KQZ_SG_MN_run.log

自动获得当前时间并取得前一天的当前时间输出到参数文件脚本如下

@echooff

rem计算指定天数之前的日期

setDaysAgo=1

rem假设系统日期的格式为yyyy-mm-dd

call:

DateToDays%date:

~0,4%%date:

~5,2%%date:

~8,2%PassDays

set/aPassDays-=%DaysAgo%

call:

DaysToDate%PassDays%DstYearDstMonthDstDay

setDstDate=%DstYear%-%DstMonth%-%DstDay%

remecho%DaysAgo%天的日期是%DstDate%

echodate_time1=%DstDate%%TIME:

~0,8%>C:

\IBM\InformationServer\Server\Projects\lhbdc\ParameterSets\SA000HN\SA000HN.txt

echodate_time2=%DATE:

~0,10%%TIME:

~0,8%>>C:

\IBM\InformationServer\Server\Projects\lhbdc\ParameterSets\SA000HN\SA000HN.txt

rempause

goto:

eof

:

DateToDays%yy%%mm%%dd%days

setlocalENABLEEXTENSIONS

setyy=%1&setmm=%2&setdd=%3

if1%yy%LSS200if1%yy%LSS170(setyy=20%yy%)else(setyy=19%yy%)

set/add=100%dd%%%100,mm=100%mm%%%100

set/az=14-mm,z/=12,y=yy+4800-z,m=mm+12*z-3,j=153*m+2

set/aj=j/5+dd+y*365+y/4-y/100+y/400-2472633

endlocal&set%4=%j%&goto:

EOF

:

DaysToDate%days%yymmdd

setlocalENABLEEXTENSIONS

set/aa=%1+2472632,b=4*a+3,b/=146097,c=-b*146097,c/=4,c+=a

set/ad=4*c+3,d/=1461,e=-1461*d,e/=4,e+=c,m=5*e+2,m/=153,dd=153*m+2,dd/=5

set/add=-dd+e+1,mm=-m/10,mm*=12,mm+=m+3,yy=b*100+d-4800+m/10

(if%mm%LSS10setmm=0%mm%)&(if%dd%LSS10setdd=0%dd%)

endlocal&set%2=%yy%&set%3=%mm%&set%4=%dd%&goto:

EOF

f.任务调度

保存以上脚本后利用系统任务调度,实现数据的同步。

6、常见问题

两边表数据类型不一致,长度不一致导致数据截断—》需更改目标表表结构和字段长度

序列job中止-》有并行job出现错误或者有未编译的job

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1