datastage怎样使用全局参数
1个回答
展开全部
每一个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文件有哪些不同,然后找出要修改的那一段,做批量替换。
我觉得你可以考虑这么做:每一个JOB的参数都是在运行时,由一个调度程序传进去的。这个程序从一个元数据库里面获取每一个任务的配置信息(这个需要你先建张表,存放每一个任务的信息,包括抽取表名,数据库用户名和密码等等),这样你要修改数据库连接信息的时候,就不需要通过datastage了,从你的元数据库里面修改任务的配置信息就好了。这个工作量要小很多吧。
对于批量修改JOB,我知道的一些情况是把JOB导出成dsx文件或者xml文件,找一个job为例,对比修改前后的dsx文件有哪些不同,然后找出要修改的那一段,做批量替换。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询