sql >> Database >  >> RDS >> Oracle

Maak verbinding met Oracle DB vanuit Spring-jdbc met Oracle Wallet-authenticatie

U noemt "eenvoudige applicatietest", dus ik neem aan dat u uw unit-tests moet configureren. In een unit test config class (bijvoorbeeld class TestSpringWebConfig extends SpringWebConfig ) hiermee krijgt u een Oracle-gegevensbron met behulp van een portemonnee (bonus:het volgende gebruikt een proxy-database-account):

System.setProperty("oracle.net.tns_admin", "path/to/your/tnsnames");

OracleDataSource ds = new OracleDataSource();

Properties props = new Properties();
props.put("oracle.net.wallet_location", "(source=(method=file)(method_data=(directory=path/to/your/wallet)))");

/*
  Use the following only if you have a proxy user database account instead of a normal DB account
  A test user's username could go here though
*/
props.put(OracleConnection.CONNECTION_PROPERTY_PROXY_CLIENT_NAME, "proxy-user-name"); 

ds.setConnectionProperties( props );
ds.setURL("jdbc:oracle:thin:/@dbAlias"); //dbAlias should match what's in your tnsnames

return ds;

Dit veronderstelt ook dat je het volgende in je JDK hebt:

Voeg in JAVA_HOME/jre/lib/security/java.security het volgende toe aan de "Lijst met providers":

security.provider.11=oracle.security.pki.OraclePKIProvider

En voeg de volgende jars van Oracle toe aan JAVA_HOME/jre/lib/ext:

  • osdt_cert.jar
  • osdt_core.jar
  • oraclepki.jar

En natuurlijk gaat al het bovenstaande ervan uit dat de ojdbc7-jar zich al in het klassenpad van uw toepassing bevindt.




  1. Oracle SQL-syntaxis:ID tussen aanhalingstekens

  2. Kunnen meerdere threads dubbele updates veroorzaken op een beperkte set?

  3. Hoe werken vensterfuncties en de group by-clausule op elkaar in?

  4. Na het updaten naar macOS Big Sur kan ik geen verbinding maken met mijn PostgreSQL-database met MAMP