Oracle
 sql >> Base de données >  >> RDS >> Oracle

Quelle est la syntaxe correcte de l'URL JDBC si des portefeuilles Oracle sont utilisés ?

Lorsque vous utilisez Oracle Wallet avec une chaîne JDBC, les deux syntaxes sont autorisées , tant que votre "db_alias" est évidemment configuré dans votre boutique Wallet.

Maintenant, en ce qui concerne l'utilisation de SQL*Plus avec Oracle Wallet, le seul format autorisé avec Oracle Wallet est :

/@db_alias

Soit dit en passant, cet article que vous avez référencé (et d'autres) spécifie que vous ne pouvez vous connecter à l'aide de JDBC que si vous utilisez les pilotes OCI, et non le client léger. C'est/était généralement parce que Java n'avait aucune connaissance des fichiers Oracle TNS et SQLNET. Ce n'est en fait pas vrai; vous pouvez connectez-vous à l'aide du pilote léger JDBC avec les derniers pilotes Oracle Client et JDBC, mais cela nécessite juste une configuration. Voir http://tech.shopzilla.com/2011/09/oracle-wallet-with-thin-driver-with-connection-pool-with-database-timeouts/ pour plus d'informations à ce sujet, et ci-dessous pour un bref résumé.

Utilisation d'Oracle Wallet avec le pilote léger JDBC

  1. Configurez Oracle Wallet comme d'habitude (fourni avec le client de base de données Oracle), en créant les entrées appropriées dans vos fichiers tnsnames.ora et sqlnet.ora ainsi que l'entrée d'informations d'identification dans votre portefeuille
  2. Ajoutez les fichiers JAR suivants à votre chemin de classe Java. Vous devriez les obtenir du client Oracle 11g, et ils peuvent être trouvés dans les répertoires "jdbc" et/ou "jlib" où se trouve l'installation du client
    • Pilote JDBC Oracle - ojdbc6.jar
    • Portefeuille Oracle - oraclepki.jar
    • Certificats de sécurité Oracle - osdt_cert.jar
    • Oracle Security Core - osdt_core.jar
  3. Démarrez votre application Java avec les propriétés système suivantes, pointant vers vos répertoires TNS et portefeuille respectifs :
    • -Doracle.net.tns_admin=C:\myTNSdir
    • -Doracle.net.wallet_location=C:\mywalletdir
  4. Vous pouvez ensuite utiliser une chaîne de connexion JDBC fine dans votre application comme suit :jdbc:oracle:thin:/@MY_WALLET_DB_ENTRY