sql >> Databasteknik >  >> RDS >> Oracle

Anslut till Oracle DB från Spring-jdbc med Oracle Wallet-autentisering

Du nämner "enkelt applikationstest" så jag antar att du behöver konfigurera dina enhetstester. I en enhetstestkonfigurationsklass (till exempel class TestSpringWebConfig extends SpringWebConfig ) detta ger dig en Oracle-datakälla med en plånbok (bonus:följande använder ett proxydatabaskonto):

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;

Detta förutsätter också att du har följande i din JDK:

I JAVA_HOME/jre/lib/security/java.security lägger du till följande i "listan över leverantörer":

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

Och lägg till följande burkar från Oracle till JAVA_HOME/jre/lib/ext:

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

Och naturligtvis förutsätter allt ovanstående att ojdbc7-burken redan finns i din applikations klassväg.




  1. PHP-skript kommer inte att ansluta till databasen?

  2. Jämför molndatabasalternativ för PostgreSQL

  3. Få positionen för en karaktär i en sträng i SQLite med Instr()

  4. Kan inte ansluta till https://api.elephantsql.com från pg admin