我有oracle用户数据库。系统在LDAP上有用户。我想在用户插入/更新/删除时保留用户的日志。但是如何在jdbc连接上将用户名或用户ip和用户密码传递给oracle?
我使用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());
}
}
我该怎么办?或另一种解决方案?
答案 0 :(得分:1)
听起来你有一个管理员用户,比如asdf。您希望使用管理员凭据访问Oracle DB。这可以使用Weblogic中配置的JNDI来实现。在Weblogic控制台中,转到服务>数据源。创建一个新的通用数据源,确保创建一个JNDI名称()。使用默认数据库驱动填写所有需要的连接信息并测试数据库连接。在查找中,将字符串参数替换为您在控制台中提供的JNDI名称,即dataSource =(javax.sql.DataSource)ctx.lookup(“”);.