У меня есть база данных пользователей оракула. Система имеет пользователей в LDAP. И я хочу сохранить журнал пользователя, когда пользователь вставляет/обновляет/удаляет. Но как передать имя пользователя или пароль пользователя и пароль пользователя на oracle на соединение jdbc?
Я использую weblogic. И системное соединение с одним пользователем и паролем. Этот пользователь настраивается на общий источник данных weblogic.
мой класс подключения jdbc
public class DBFactory {
private static javax.sql.DataSource dataSource = null;
public static Connection getConnection(String user, String password) {
Connection connection = null;
try {
if (dataSource == null) {
//weblogic app server
javax.naming.InitialContext ctx = new javax.naming.InitialContext();
dataSource = (javax.sql.DataSource) ctx.lookup("jdbc/XXXX");
}
connection=dataSource.getConnection();
Statement statement = connection.createStatement();
statement.execute("ALTER SESSION SET NLS_SORT=XTURKISH_AI");
statement.execute("ALTER SESSION SET NLS_COMP=LINGUISTIC");
statement.close();
return connection;
} catch (Exception ex) {
throw new DBFactoryException(ex.getMessage());
}
}
Что я могу сделать? или другое решение?
Похоже, у вас есть пользователь admin, скажем asdf. Вы хотите попасть в БД Oracle с учетными данными администратора. Этого можно добиться с помощью JNDI, настроенного в Weblogic. В консоли Weblogic перейдите в раздел Службы> Источники данных. Создайте новый общий источник данных, создав JNDI-имя(). Использовать драйвер базы данных по умолчанию. Заполните все необходимые сведения о подключении и проверьте подключение к базе данных. При поиске замените строковый аргумент на имя JNDI, которое вы указали в консоли, то есть dataSource = (javax.sql.DataSource) ctx.lookup("") ;.