[Geoserver-devel] Connection to Oracle10g using Service not SID

I need to connect to our 10g database via the thin connection using the Service designation, e.g sample url.:

jdbc:Oracle:thin:@//myhost.org:1522/myservicename

How do I do this?
Thank you.
Peter

Peter Parker ha scritto:

I need to connect to our 10g database via the thin connection using the Service designation, e.g sample url.:

jdbc:Oracle:thin:@//myhost.org:1522/myservicename

How do I do this?

The Oracle data store is a little strange... basically, it'll handle
the "instance" parameter as the service name if you make it start with a "/":

if( instance.startsWith("(") )
   dbUrl = JDBC_PATH + instance;
else if( instance.startsWith("/") )
   dbUrl = JDBC_PATH + "//" + host + ":" + port + instance;
else
   dbUrl = JDBC_PATH + host + ":" + port + ":" + instance;

(where JDBC_PATH is "jdbc:oracle:thin:@").

I guess this is not documented anywhere? I went straight to the code,
did not check our documentation.

Hope this helps
Cheers
Andrea Aime

Appears not to be in the documentation. I did not see it in the UG.
Thanks for the response Andrea, I will give it a try.
Peter

Andrea Aime wrote:

Peter Parker ha scritto:

I need to connect to our 10g database via the thin connection using the Service designation, e.g sample url.:

jdbc:Oracle:thin:@//myhost.org:1522/myservicename

How do I do this?

The Oracle data store is a little strange... basically, it'll handle
the "instance" parameter as the service name if you make it start with a "/":

if( instance.startsWith("(") )
  dbUrl = JDBC_PATH + instance;
else if( instance.startsWith("/") )
  dbUrl = JDBC_PATH + "//" + host + ":" + port + instance;
else
  dbUrl = JDBC_PATH + host + ":" + port + ":" + instance;

(where JDBC_PATH is "jdbc:oracle:thin:@").

I guess this is not documented anywhere? I went straight to the code,
did not check our documentation.

Hope this helps
Cheers
Andrea Aime