passing data store configuration during run time of the job

Hello,
Can you please let me know if Data Services 14.1.1 has capability to pass datastore userid or configuration during run time.

i do have 2 databases(2 schemas) based on pre validation it should pick one database.

Advance thanks for all your support and help.


sonysunny4u (BOB member since 2007-02-12)

You should read in to “System configurations”. There on run time the connections are chosen.


Johannes Vink :netherlands: (BOB member since 2012-03-20)

what i mean is not while executing the job from web management console. when i schedule the job based on creteria ETL job needs to select Database userid. basically can i pass datastore userid globle variable?


sonysunny4u (BOB member since 2007-02-12)

Eeeeh that is an interesting approach, but no.

Even the sql() function requires hardcoded the datastore name.

Work-a-round would be to dynamically call the job server from another job and start a new job with the system configuration that you require.

That would be my only approach I think…


Johannes Vink :netherlands: (BOB member since 2012-03-20)

Not quite sure if you mean you have 2 schemas on the same database, or 2 databases with 2 schemas each, but might have a couple options you could use.

If two schema’s on the same database, could you setup a user that has access to both? If so you could use the SQL Transform and use a variable to set which schema you read from at run time. (As much as I like to minimize use of SQL Transform)

If not, I would setup one data store for each possibility, then you could just have nested conditional’s that would run a data flow based on what data store you should read from.

I like Johanne’s solution, but can create some overhead based on specifics of the job, and support people might hate you :lol:

-Tim


tim_pank :us: (BOB member since 2011-10-12)

Thanks a lot Tim and Johanne for your suggestions. basically i’m developing a Framework for fault tolerant flip / flop mechanism for Datamart ETL load prototype, enabling zero downtime for reporting


sonysunny4u (BOB member since 2007-02-12)

Your datastores could also point to clustered or fault-tolerant database arrangements, and BODS could remain ignorant of all the fault-tolerant wizardry being handled by your database platform. BODS is a great hammer, but many problems aren’t nails.

Can also write dbms procs which can accept parameters that point queries at different sources (typically by using lots of dynamic SQL), but calling procs from BODS SQL transforms is a nasty business – no lineage, opaque, etc.

Can also make heavy use of running BODS jobs on the command line, and run them by scripting them out, w/ an enterprise scheduler, workflow engine, ESB, BODS itself, PowerShell, whatever. Can specify the system configuration on the command line.


JeffPrenevost :us: (BOB member since 2010-10-09)

Hi @Johannes Vink

In your suggestion
'Work-a-round would be to dynamically call the job server from another job and start a new job with the system configuration that you require. ’

How do we start a new job with desired system configuration? Could you provide exact command for this from a different job please?

For ex :
Consider 2 DB instances DB1 and DB2 which have equivalent system configurations: config1 and config2.

if i have 2 jobs : parent_job and child_job

if i am executing parent job, what would be the command to invoke ‘child_job’ with ‘config2’ as system configurations?

Looking forward to your reply!

Thank you


Deeraj (BOB member since 2018-05-10)

Hi,

if i got ur question correctly, if you have two jobs BJ_Parent and BJ_CHILD, you want execute BJ_CHILD with different configs based on the criteria derived in BJ_PARENT. Am i Correct?

If Yes, then Lets say you have 2 configs: config1 and config2.
Use Export Execution command for BJ_CHILD with both Configs.
ex: BJ_CHILD_CONFIG1.bat and BJ_CHILD-CONFIG2.bat
once your BJ_PARENT runs, you can Use If else in Script and to decide as per your requirement and call the respective BAT files using exec.

Hope this Helps!!

Regards,
Jayant


Jay_mKumar :india: (BOB member since 2016-03-24)