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

Cambio di utenti su una connessione JDBC

Dopo aver ricercato ieri, ho scoperto che la soluzione è utilizzare Oracle Proxy Authentication. Questa soluzione è al di fuori della specifica JDBC. Tuttavia, Oracle fornisce un gancio per implementare tale soluzione. L'apertura di una connessione proxy sarebbe simile a questa:

import oracle.jdbc.OracleConnection;    

//Declare variables
String url = "...";
String username = "...";
String password = "...";

//Create the Connection
Connection conn = DriverManager.getConnection(url, username, password);

//Set the proxy properties
java.util.Properties prop = new java.util.Properties();
prop.put(OracleConnection.PROXY_USER_NAME, "BILL");
prop.put(OracleConnection.PROXY_USER_PASSWORD, "password");

//Cast the Connection to an OracleConnection and create the proxy session
((OracleConnection)conn).openProxySession(OracleConnection.PROXYTYPE_USER_NAME, prop);

/* The Connection credentials have now been changed */

Non sarei sorpreso se ci fossero altre sfumature associate a questo, ma questo è un buon inizio. Grazie per il vostro aiuto, a tutti!