最近碰到一个需求,需要通过命令行触发BIEE job,查了一下,发现SASchInvoke可以完成这个功能
Windows下到%installfolder%\bifoundation\server\bin直接调用即可,
如下命令调用了/shared/jobfolder/下的job01
SASchInvoke.exe -u user/password -i/shared/jobfolder/job01 -m schedulehost
也可以使用job id调用:
SASchInvoke.exe -u user/password -j 1 -mschedulehost
但在Linux下由于环境变量和命令行参数的改变需要更多配置,具体如下
export ORACLE_HOME=$installfolder/Oracle_BI1/
exportLD_LIBRARY_PATH=$installfolder/Oracle_BI1/bifoundation/server/bin:$LD_LIBRARY_PATH
cd $installfolder/Oracle_BI1/bifoundation/server/bin/
./saschinvoke -u user -i/shared/jobfolder/job01 -m schedulehost
由于linux下不支持密码写在参数里,可以如下调用
echo |./saschinvoke -u user -i/shared/jobfolder/job01 -m schedulehost
正确调用后,不返回提示信息,错误的话有提示:
job id出错:
SASchInvoke Error: Job not found with this job ID.
job path name出错
SASchInvoke Error: No job or more than one jobs found with the samepath.