Skip to Main Content

Oracle Database Discussions

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Interested in getting your voice heard by members of the Developer Marketing team at Oracle? Check out this post for AppDev or this post for AI focus group information.

Difference between Service Name and SID.

PsystecMay 26 2017 — edited Jun 2 2017

Hello Fellow Earthlings

I'm a bit new when it comes to creating Oracle drivers and I was the lucky winner assigned to make an oracle driver.

My driver works but, the connection string that the driver creates bypasses TNSnames, meaning its a bit of a manual string creation.

Currently my driver only replaces the SID variable and does not cater for Service_Names.

I know that Service Names are used in Cluster's and SID is a unique DB name usually, but beyond this is know nothing more.

Questions:

What is the difference between a Service Name and SID in the TNSnames? (technical answer if possible)

Can I use both in the TNSnames?

Kind Regards and thanks in advance.

This post has been answered by ddf_dba on May 26 2017
Jump to Answer

Comments

843834
It doesn't itself, but since you can feed jaxb a DOM document from any source, you can always use a processor that does support xinclude and feed the result to the unmarshaller. Try this:

(1) Get the XInclude Engine at http://xincluder.sourceforge.net/

(2) build the xinclude document with something like:


DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
factory.setNamespaceAware( true );
factory.setCoalescing( true );
DocumentBuilder parser = factory.newDocumentBuilder();
InputSource input = new InputSource();
input.setByteStream( new FileInputStream( fname ) );
Document masterDoc = parser.parse( input );
Document doc = DOMXIncluder.merge( masterDoc, input.getSystemId() );

(3) then unmarshal the document with:

JAXBContext jc = JAXBContext.newInstance( "my.context" );
Unmarshaller u = jc.createUnmarshaller();
MyClass x = (MyClass) u.unmarshal( doc );

there's probably a faster Sax equivalent of this. Also works (better) with Castor.

hope this helps,

Graham
843834
Oops! sorry: looking at it again, I see I misread your question. I thought you meant using xinclude in a datafile (which I'd just worked out how to do) rather than in a schema (which I haven't worked out). Apologies.

Graham
843834
Yes. JAXB 1.0 supports included and imported schemas.
Can you please attach the COS.xsd too

Regards,
Bhakti Mehta
Sun Microsystems
1 - 3
Locked Post
New comments cannot be posted to this locked post.

Post Details

Locked on Jun 30 2017
Added on May 26 2017
24 comments
57,471 views