Oracle
 sql >> Database >  >> RDS >> Oracle

Qual è la sintassi dell'URL JDBC corretta se vengono utilizzati i portafogli Oracle?

Quando utilizzi Oracle Wallet con una stringa JDBC, sono consentite entrambe le sintassi , a condizione che il tuo "db_alias" sia impostato ovviamente nel tuo negozio Wallet.

Ora, per quanto riguarda l'utilizzo di SQL*Plus con Oracle Wallet, l'unico formato consentito con Oracle Wallet è:

/@db_alias

A proposito, l'articolo a cui hai fatto riferimento (e altri) specifica che puoi connetterti utilizzando JDBC solo se utilizzi i driver OCI e non il thin client. Questo è/era in genere perché Java non conosceva i file Oracle TNS e SQLNET. Questo infatti non è vero; tu puoi connettersi utilizzando il thin driver JDBC con il client Oracle e i driver JDBC più recenti, ma richiede solo alcune impostazioni. Vedi http://tech.shopzilla.com/2011/09/oracle-wallet-with-thin-driver-with-connection-pool-with-database-timeouts/ per informazioni al riguardo e di seguito per un breve riepilogo.

Utilizzo di Oracle Wallet con il thin driver JDBC

  1. Configura Oracle Wallet come al solito (fornito con Oracle Database Client), creando le voci appropriate nei tuoi file tnsnames.ora e sqlnet.ora, nonché la voce delle credenziali nel tuo portafoglio
  2. Aggiungi i seguenti JAR al tuo percorso di classe Java. Dovresti ottenerli dal client Oracle 11g e possono essere trovati nelle directory "jdbc" e/o "jlib" di dove si trova l'installazione del client
    • Driver JDBC Oracle - ojdbc6.jar
    • Portafoglio Oracle - oraclepki.jar
    • Certificati di sicurezza Oracle - osdt_cert.jar
    • Oracle Security Core - osdt_core.jar
  3. Avvia la tua applicazione Java con le seguenti proprietà di sistema, puntando alle tue rispettive directory TNS e wallet:
    • -Doracle.net.tns_admin=C:\myTNSdir
    • -Doracle.net.wallet_location=C:\mywalletdir
  4. Quindi puoi utilizzare una stringa di connessione JDBC sottile nella tua applicazione in questo modo:jdbc:oracle:thin:/@MY_WALLET_DB_ENTRY