簡體   English   中英

如何在jdbc連接上傳遞用戶名或用戶ip地址?

[英]How to pass user name or user ip adress on jdbc connection?

我有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 name()。 使用默認的數據庫驅動程序。 填寫所有必需的連接信息並測試數據庫連接。 在查找時,將字符串參數替換為您在控制台中提供的JNDI名稱,即dataSource =(javax.sql.DataSource)ctx.lookup(“”);。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM