ETLStats -issue .Need help to setup etlstat up and running.

Post questions here relative to DataStage Enterprise/PX Edition for such areas as Parallel job design, Parallel datasets, BuildOps, Wrappers, etc.

Moderators: chulett, rschirm, roy

kduke
Charter Member
Charter Member
Posts: 5227
Joined: Thu May 29, 2003 9:47 am
Location: Dallas, TX
Contact:

Post by kduke »

The path is probably wrong for the dsjob command. It is usually ../../DSEngine/bin/dsjob in Windows it is ..\Engine\bin\dsjob.exe. You have to get this correct to make it all work. The current project path is relative to the DSEngine usually. You can do an absolute path if you like.

So

Code: Select all

cat /.dshome
Result:
/etl/Ascential/DataStage/DSEngine

Code: Select all

SH "pwd"
Result:
/etl/Ascential/DataStage/Projects/MyProject

So when you run a job its current directory is the project directory. So then you need to go up 2 directories to get to the directory above the engine directory.
Mamu Kim
efxuser
Premium Member
Premium Member
Posts: 50
Joined: Tue Jun 24, 2008 9:00 am

Post by efxuser »

thanks for the quick response.Ok i checked my dsjob ommand directly in the command line it works fine.I am using absolute path.I am guessing the issue is with file path.

I tried using absolute path as the value for filepath parameter in dsjobreportdb and dsjobreportdbdriver.when i run the driver it is creating different instances of dsjobreportdb.<instancename> with instancename = job name in the sequence.these instances are failing with the error

DSJobReportDb.Job_pre_app_fin.CheckForParams: |DSJobReportDb.Job_pre_app_fin.DSJobReport3.xml_report3: DSD.SEQOpen Failed to open Job_pre_app_fin.xml in directory KimD
STATUS = -1.|
When should these xml files be created after dbdriver ?


I am searching where you are writing in this KimD drectory but I cannot find it.ANy pointers will help.
EFX
kduke
Charter Member
Charter Member
Posts: 5227
Joined: Thu May 29, 2003 9:47 am
Location: Dallas, TX
Contact:

Post by kduke »

You should of created a KimD directory below your project. You can change this path to . and it will write in the project directory. It will clutter it up with xml files. The file name is the job name plus ".xml".
Mamu Kim
efxuser
Premium Member
Premium Member
Posts: 50
Joined: Tue Jun 24, 2008 9:00 am

Post by efxuser »

I do have a KimD direcotyr below my project folder.It has the follwing folders Backups Jobs Routines RowHist Scripts Sql2Html
.This is where I am expecting the xmls but of no use .
EFX
kduke
Charter Member
Charter Member
Posts: 5227
Joined: Thu May 29, 2003 9:47 am
Location: Dallas, TX
Contact:

Post by kduke »

Maybe you have \ in the path and not /. Use / in UNIX servers and \ on Windows servers.
Mamu Kim
kduke
Charter Member
Charter Member
Posts: 5227
Joined: Thu May 29, 2003 9:47 am
Location: Dallas, TX
Contact:

Post by kduke »

Make sure you have write permission to the directory.
Mamu Kim
efxuser
Premium Member
Premium Member
Posts: 50
Joined: Tue Jun 24, 2008 9:00 am

Post by efxuser »

Ok.
My dsjobcmd in dsjobreportdb is "/landing01/dataint/Ascential/DataStage/DSEngine/bin/dsjob -report XML" .

My filepath is /dataint/sprint/dev/datastage/projects/sprint ( this is my project path)

My filename in the stage is KimD/#jobName#.xml

The xml is not getting created where it is supposed to be

I found a not in your seq file stage in db job it goes like this"Note: the sequential file stage requires a file to exist, and it verifies that the file can be opened, even though the records will come from the filter command. You can make this portable without difficulty by specifying the file uvodbc.config, which is a file that will always exist in every datastage project directory. (if you don't specify a path, it assumes the project directory)

#dsjobcmd# #projName# #jobName# XML >KimD/#jobName#.xml"

what do u mean by uvodbc.config?i tried creating a dummy xml file too but no avail.
EFX
efxuser
Premium Member
Premium Member
Posts: 50
Joined: Tue Jun 24, 2008 9:00 am

Post by efxuser »

can u please tell me where can i modify the jobs to see which path is dsjobdb writing to and which path dsjobreportdbdriver reading form...it will help me to debug.
EFX
kduke
Charter Member
Charter Member
Posts: 5227
Joined: Thu May 29, 2003 9:47 am
Location: Dallas, TX
Contact:

Post by kduke »

The Driver job calls the dsjobreportdb job. The dsjob command is a before job command of dsjobreportdb. You should be able to debug from there. Take your command and run it manually.

Code: Select all

cd ProjectDir
dsjobcmd=
projName=
jobName
echo $dsjobcmd $projName $jobName XML >KimD/$jobName.xml
$dsjobcmd $projName $jobName XML >KimD/$jobName.xml
Mamu Kim
efxuser
Premium Member
Premium Member
Posts: 50
Joined: Tue Jun 24, 2008 9:00 am

Post by efxuser »

Thank very much for your quick response.OK that works....i gues aim almost there...the etl_job_hist and etl_row_hist are getting populated.but etl_param_hist has param_name but param_value is not getting populated. I am assuming it should get populated?any ideas how should i go abpout it?
EFX
kduke
Charter Member
Charter Member
Posts: 5227
Joined: Thu May 29, 2003 9:47 am
Location: Dallas, TX
Contact:

Post by kduke »

It should show exactly like DS Director. If you have compiled these jobs then the values go away. It could be because you have not fed in the instance id. The job name is really job name "." instance id. So it may become LoadInvoices.200903 for job LoadInvoices and instance id of 200903.

If you think something is wrong with your XML file then you need to edit the XML and compare it to the metadata within the job. If you are on a different release of DataStage then the XML file format could of changed.

One of these issues is your problem.
Mamu Kim
Post Reply