DataStage job compile at Windows client

DataStage job compile in command line

DataStageジョブのコンパイルは、DataStage clientの導入されたWindows PC上で実行する必要がある。
この際、DataStage証明書を事前に導入する必要あり。

# cd c:¥IBM¥InformationServer¥Clients¥Classic
# dscc /h server_host /F /u dsadm /p password_hoge project_hoge /J job_hoge

/F 強制コンパイル

以下は、joblist.txtに記述されたジョブをコンパイルするコマンドを出力するbat file

#!/bin/bash
echo "cd c:¥IBM¥InformationServer¥Clients¥Classic"
while read line
do
echo "dscc /h server_host /F /u dsadm /p password_hoge project_hoge /J $line"
done <joblist.txt

# compile all jobs with python
cmddsjob='C:\IBM\InformationServer\Clients\Classic\dsjob'
lprojectparam='-domain ' + dshost + ':' + dsport + ' -user isadmin -password isadmin -server ' + dshost + ' -lprojects'
ljobparam='-domain ' + dshost + ':' + dsport + ' -user isadmin -password isadmin -server ' + dshost + ' -ljobs'
cmddscc='C:\IBM\InformationServer\Clients\Classic\dscc'
dsccparam='/h ' + dshost + ' /F /u isadmin /p isadmin'

# list all projects
cmd="{} {}".format(cmddsjob,lprojectparam)
res=subprocess.run(cmd,capture_output=True,text=True)
if res.returncode != 0:
    print("stderr: {}".format(res.stderr))

# list all jobs in project
cmdjob="{} {} {}".format(cmddsjob,ljobparam,project)
res=subprocess.run(cmdjob,capture_output=True,text=True)
if res.returncode != 0:
 print("stderr: {}".format(res.stderr))
else:
 jobs=res.stdout.split("\n")
   for job in jobs:
  print("Job=" + job)

# compile job
cmdcc="{} {} {} /J {}".format(cmddscc,dsccparam,project,job)
res=subprocess.run(cmdcc,capture_output=True,text=True)
 if res.returncode != 0:
  print("stderr: {}".format(res.stderr))

コメント

人気の投稿