+ -
当前位置:首页 → 问答吧 → datastage怎么配置数据库连接,初学者

datastage怎么配置数据库连接,初学者

时间:2010-09-30

来源:互联网

我也是刚刚接触datastage,有两个问题:
1、我看资料介绍连接源数据库或者目标数据库的时候都是在对应的stage中设置连接,我觉得挺麻烦的啊,因为有可能要设置很多job来完成业务数据的抽取的,都是从一个库抽插入到另外一个库里面去,为什么不能统一设置一个连接呢?
2、这个问题是接上面的,是不是job可以不要分那么多,比如我从业务系统A中抽数,建1个job就可以了?还是说一个job只能对应业务数据库的一张表?

这些都是我的困惑,可能太简单了,所以我到哪都找不到相关的资料说明。

作者: killerzlk   发布时间: 2010-09-30

每一个JOB都是可以设置很多参数的,就是Designer的那个叫Job Properties的黄色小图标,点它。进去就可以设置很多参数。比如你要a数据库抽取很多表到b数据库,那么你新建一个job,这个job里面新建几个参数,比如:DBuser,DBpwd,DBdsn        然后,以OracleEE stage为例,你在properties页签下设置,Password=#DBpwd#,User=#DBuser#,Remote Server=#DBdsn#,这样就设置好了最基本的连接。然后你是抽多张表,那就照着这个JOB进行复制。说到这里其实还没解决你的问题,你想要统一设置!比如哪天数据库换密码了,总不能一个个job去改吧,咋办?

我觉得你可以考虑这么做:每一个JOB的参数都是在运行时,由一个调度程序传进去的。这个程序从一个元数据库里面获取每一个任务的配置信息(这个需要你先建张表,存放每一个任务的信息,包括抽取表名,数据库用户名和密码等等),这样你要修改数据库连接信息的时候,就不需要通过datastage了,从你的元数据库里面修改任务的配置信息就好了。这个工作量要小很多吧。

对于批量修改JOB,我知道的一些情况是把JOB导出成dsx文件或者xml文件,找一个job为例,对比修改前后的dsx文件有哪些不同,然后找出要修改的那一段,做批量替换。

最后,这里说的调度程序,以及做批量替换,比较常见的是用perl写脚本搞定

作者: iuytr123   发布时间: 2010-10-07