One Star

[resolved] Oracle TNSNAME (or anything else...)

Hello,
I have a problem to use Talend DI inside the specific context of my company.
We have a lot of Oracle DB ( 11g ) and we use Talend DI to load Datawarehouse (for example).
But, we "move" oracle database at least 1 time per year (for each database).
In "classic" Java project,to solve this problem we use Oracle's JDBC connection based on TNSNAME.
the connection become :
jdbcSmiley Surprisedracle:thin:@<TNSNAME>
and we need to add this JVM's args :
-Doracle.net.tns_admin=D:\oracle\product\11.2.0\client_1\network\admin
With this solution, when a Db move, we just need to update the tnsname.ora file and all programs are OK (no compil or restart).
How can I manage to have a similar solution with Talend DI?
In fact, I don't want to use TNSNAME absolutly but
I don't want to have to generate and to deploy each job on TAC when DBs moved.
I have some ideas I need to test but If you can help me to save time and bring me the right solution/approach,
it would be great!
TAC : 5.2.1
Studio DI : 5.2.1
Java : 1.7
Regards,
1 ACCEPTED SOLUTION

Accepted Solutions
Community Manager

Re: [resolved] Oracle TNSNAME (or anything else...)

Hi
Imagine now, my parameters for my LIVE's DB change.
If I want to keep my job working, I need to modify context parameters in my Studio and re-generate and re-deploy my job.
But I don't want to do that because I have too many jobs to update.
In fact, I don't know how to modify the variable value without redeploying the job.

In TAC, open the Context Parameters tab and define the custom value for the context variable and check option 'Active', you don't need to modify the job in Talend Studio and regenerate the job.
Shong
----------------------------------------------------------
Talend | Data Agility for Modern Business
4 REPLIES
Moderator

Re: [resolved] Oracle TNSNAME (or anything else...)

Hi,
In Talend, Oracle components support 4 connection types: Oracle SID, Oracle service name, Oracle OCI and Oracle RAC, you just need to set DB connection parameters with context variables with default value, change the variable value before executing the job if the DB parameters changes.
Best regards
Sabrina
--
Don't forget to give kudos when a reply is helpful and click Accept the solution when you think you're good with it.
One Star

Re: [resolved] Oracle TNSNAME (or anything else...)

Thanks for your quick answer!
but I'm not I understand it well...
So, let's make an example:
we have 2 environments for the job's execution :
* TEST
* LIVE
When I design my job, I put in context this 2 configurations.
I go to my TAC, I generate & deploy it on my job server and I define context (TEST or LIVE)
Ok, that's work
Imagine now, my parameters for my LIVE's DB change.
If I want to keep my job working, I need to modify context parameters in my Studio and re-generate and re-deploy my job.
But I don't want to do that because I have too many jobs to update.
In fact, I don't know how to modify the variable value without redeploying the job.
Regards,
Community Manager

Re: [resolved] Oracle TNSNAME (or anything else...)

Hi
Imagine now, my parameters for my LIVE's DB change.
If I want to keep my job working, I need to modify context parameters in my Studio and re-generate and re-deploy my job.
But I don't want to do that because I have too many jobs to update.
In fact, I don't know how to modify the variable value without redeploying the job.

In TAC, open the Context Parameters tab and define the custom value for the context variable and check option 'Active', you don't need to modify the job in Talend Studio and regenerate the job.
Shong
----------------------------------------------------------
Talend | Data Agility for Modern Business
One Star

Re: [resolved] Oracle TNSNAME (or anything else...)

aaaaaaaaaaaaaaaaah !!!
That's clear !
thanks a lot Shong and thanks Sabrina!