gpt4 book ai didi

java - 如何在 jdbc 连接上传递用户名或用户 IP 地址?

转载 作者:太空宇宙 更新时间:2023-11-04 06:42:17 25 4
gpt4 key购买 nike

我有 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());
}
}

我能做什么?或者其他解决方案?

最佳答案

听起来您有一个管理员用户,例如 asdf。您想要使用管理员凭据访问 Oracle 数据库。这可以使用 Weblogic 中配置的 JNDI 来实现。在 Weblogic 控制台中,转到服务 > 数据源。创建一个新的通用数据源,确保创建一个 JNDI 名称 () 。使用默认数据库驱动程序。填写所有需要的连接信息并测试数据库连接。在查找时,将字符串参数替换为您在控制台中提供的 JNDI 名称,即 dataSource = (javax.sql.DataSource) ctx.lookup("");。

关于java - 如何在 jdbc 连接上传递用户名或用户 IP 地址?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24520562/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com