Stay hungry Stay foolish

Informatica、Shell相互调用

Posted on By blue

目录



Informatica调用shell:

两种方法:

1、在Workflow Manager中使用command组件。如下图所示。写好要执行的脚本即可

 

2、在单个Session中,进行属性设置,如下图所示。两种调用类别,比较简单,不做赘述。需要注意的是,在调用脚本过程中,脚本、Informatica主服务应在同一台服务器上。

 

shell调用Informatica作业(workflow)

其实就是在linux中调用pmcmd命令,可根据实际需要可以写成一个shell

如下示例: 调用执行workflow,-sv informatica集成服务,-d 域 -u 用户,-p 密码 -folder知识库下的workflow所在文件夹,-wait wf_lxl (workflow名)

pmcmd startworkflow -sv inte  -d Domain_clrminfo -u Administrator -p Administrator -folder clrm_test -wait wf_lxl 

如果想传递参数的话,

pmcmd startworkflow -sv inte  -d Domain_clrminfo -u Administrator -p Administrator -folder clrm_test -paramfile **路径**/parameter.file   -wait wf_lxl 

在调用过程中,可能会碰到以下错误:

pmcmd:error while loading shared libraries:libpmasrt.so:cannot open shared object file: No such file or direcotory

因为pmcmd是用C写的一个调用程序,执行说找不不到相应的库文件,解决过程如下:

1、在环境变量PATH 和 LD_LIBRARY_PATH 中添加 INFA_HOME/server/bin

2、将INFA_HOME/server/bin 中的so后缀结尾文件、以及 libpmxerces-c.so.27 文件复制到 /usr/lib/下

3、执行 ldconfig -v

经过上面三步,即可解决此问题。