Oracle
 sql >> Datenbank >  >> RDS >> Oracle

Was ist die korrekte JDBC-URL-Syntax, wenn Oracle Wallets verwendet werden?

Wenn Sie Oracle Wallet mit einer JDBC-Zeichenfolge verwenden, sind beide Syntaxen zulässig , solange Ihr "db_alias" offensichtlich in Ihrem Wallet Store eingerichtet ist.

Was nun die Verwendung von SQL*Plus mit Oracle Wallet betrifft, so ist das einzige Format, das mit Oracle Wallet zulässig ist:

/@db_alias

Übrigens gibt dieser Artikel, auf den Sie verwiesen haben (und andere), an, dass Sie nur dann eine Verbindung über JDBC herstellen können, wenn Sie die OCI-Treiber und nicht den Thin Client verwenden. Dies ist/war typischerweise darauf zurückzuführen, dass Java keine Kenntnis von den Oracle TNS- und SQLNET-Dateien hatte. Dies ist in der Tat nicht wahr; Sie können Verbinden Sie sich über den JDBC-Thin-Treiber mit den neuesten Oracle-Client- und JDBC-Treibern, es sind jedoch nur einige Einstellungen erforderlich. Siehe http://tech.shopzilla.com/2011/09/oracle-wallet-with-thin-driver-with-connection-pool-with-database-timeouts/ für Informationen dazu und unten für eine kurze Zusammenfassung.

Oracle Wallet mit JDBC Thin Driver verwenden

  1. Konfigurieren Sie Oracle Wallet wie gewohnt (das mit dem Oracle Database Client geliefert wird), indem Sie die entsprechenden Einträge in Ihren tnsnames.ora- und sqlnet.ora-Dateien sowie den Berechtigungseintrag in Ihrem Wallet erstellen
  2. Fügen Sie Ihrem Java-Klassenpfad die folgenden JARs hinzu. Sie sollten diese vom Oracle 11g-Client erhalten, und sie können in den Verzeichnissen „jdbc“ und/oder „jlib“ gefunden werden, in denen sich die Client-Installation befindet
    • Oracle JDBC-Treiber - ojdbc6.jar
    • Oracle Wallet - oraclepki.jar
    • Oracle-Sicherheitszertifikate – osdt_cert.jar
    • Oracle Security Core - osdt_core.jar
  3. Starten Sie Ihre Java-Anwendung mit den folgenden Systemeigenschaften und zeigen Sie auf Ihre jeweiligen TNS- und Wallet-Verzeichnisse:
    • -Doracle.net.tns_admin=C:\myTNSdir
    • -Doracle.net.wallet_location=C:\mywalletdir
  4. Dann können Sie eine dünne JDBC-Verbindungszeichenfolge wie folgt in Ihrer Anwendung verwenden:jdbc:oracle:thin:/@MY_WALLET_DB_ENTRY