Détails
Java JDBC - Comment se connecter à Oracle en utilisant le nom du service au lieu du SID ?
J'ai une application Java qui utilise JDBC (via JPA) et qui se connecte à une base de données de développement en utilisant le nom d'hôte, le port et le SID Oracle, comme ceci :
jdbc:oracle:thin:@oracle.hostserver1.mydomain.ca:1521:XYZ
XYZ était le SID d'Oracle. J'ai maintenant besoin de me connecter à une autre base de données Oracle qui n'utilise pas de SID, mais un "Service Name" Oracle.
J'ai essayé ceci mais cela ne fonctionne pas :
jdbc:oracle:thin:@oracle.hostserver2.mydomain.ca:1522:ABCD
ABCD est le nom de service de l'autre base de données.
Qu'est-ce que je fais de mal ?
240
3
http://download.oracle.com/docs/cd/B28359_01/java.111/b31224/urls.htm#BEIDHCBA
Les noms de service de style fin sont pris en charge uniquement par le pilote JDBC Thin. La syntaxe est la suivante :
Donc j'essaierais :
jdbc:oracle:thin:@//oracle.hostserver2.mydomain.ca:1522/ABCD
Par ailleurs, conformément à la réponse de Robert Greathouse, vous pouvez également spécifier le nom du TNS dans l'URL JDBC comme ci-dessous :
Vous pouvez également spécifier le nom du TNS dans l'URL JDBC comme ci-dessous
Essayez ceci :
jdbc:oracle:thin:@oracle.hostserver2.mydomain.ca:1522/ABCD
Edit : selon le commentaire ci-dessous, ceci est en fait correct :
jdbc:oracle:thin:@//oracle.hostserver2.mydomain.ca:1522/ABCD
(notez le//
)Voici un lien vers un article utile.