Oracle
 sql >> Base de données >  >> RDS >> Oracle

Changer d'utilisateur sur une connexion JDBC

Après des recherches hier, j'ai trouvé que la solution consiste à utiliser Oracle Proxy Authentication. Cette solution est en dehors de la spécification JDBC. Cependant, Oracle fournit un crochet pour implémenter une telle solution. L'ouverture d'une connexion proxy ressemblerait à ceci :

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 */

Je ne serais pas surpris s'il y avait d'autres nuances associées à cela, mais c'est un bon début. Merci pour votre aide, tout le monde !