Skip to main content
Announcements
Introducing Qlik Answers: A plug-and-play, Generative AI powered RAG solution. READ ALL ABOUT IT!
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

[resolved] Oracle connection - connecting by SID instead of Service Name

Hello,
I'm new to Talend Data Integration and i'm facing an issue trying to connect to an Oracle database by Service Name.
Context is the following one:

I have an existing and working Oracle database i can connect to with any external software like db visualizer for example.
As SID is forbidden in my environment, i connect by Service Name

Inside Talend:

I've first created a connection item in the repository (metadata/connections). This item is configured to connect by service name and works well. I can retrieve schemas, etc. I've create a context item on the repository with working properties so that i can re-use it in my jobs.
I created a new job, with a new Oracle Connection component inside. I changed the connection type to 'Oracle Service Name' and fill properties with my context ones (see attached sreenshot)
Then i've created an Oracle Input component to execute a query on an existing table. I've selected the option 'Use an existing connection' and chosen the previously configured Connection component.
When i click on the '...' button to select a table name, a popup with an error message is displayed, informing me about a connection failure (see attached screenshot)

Additional information:

Talend Data Integration 6.3.1
Oracle 12c

Problem:
It looks like the component try to connect by SID instead of Service Name (and this definitly does not work on my environment)
Questions:

Why is it trying to establish a connection by SID instead of Service Name ? Especially when i indicated i want it to connect by Service Name... ?
When i watch at the generated code by selecting both options (connection by SID and then by Service Name), it does not change, is that normal ? I don't think so, else why distinguish two modes for same generated code ?  Edit: this was due to bad refresh sorry, code is correctly udpated, passing from SID to Service Name modes correctly.
Did i configured it wrong, if yes, can somebody explain me how i'm supposed to to this ?


0683p000009MDnn.png
0683p000009MDub.png
Thanks in advance for any help.
Best regards.
Nicolas.
Labels (3)
1 Solution

Accepted Solutions
Anonymous
Not applicable
Author

Ok, i got the problem.
It's related to importing existing source which have built-in components.
In my case, OracleConnection built-in objects, even if i change it -> no impact on its behaviour. I need to switch to use repository connection object (best practice anyway) both from OracleConnection and OracleInput objects, and then change again the OracleInput to use the existing OracleConnection object. This way it's refreshed and the connection is ok... quite annoying bug.

View solution in original post

2 Replies
Anonymous
Not applicable
Author

Problem remains the same if instead of creating a built-in OracleConnection component in my job, i change for the Repository (working) one.
Connection is done by SID instead of ServiceName (at the UI component layer probably cause the generated code is correct)
Anonymous
Not applicable
Author

Ok, i got the problem.
It's related to importing existing source which have built-in components.
In my case, OracleConnection built-in objects, even if i change it -> no impact on its behaviour. I need to switch to use repository connection object (best practice anyway) both from OracleConnection and OracleInput objects, and then change again the OracleInput to use the existing OracleConnection object. This way it's refreshed and the connection is ok... quite annoying bug.