java 如何找sql 密码,如何在java.sql.Connection中检索主机,端口,SID,用户和密码信息...

I have an Oracle connection (in a java.sql.Connection object) that is mounted from a properties file (ApplicationResources.properties).

How do I capture information about host, port, sid, user and password? (I need this information to call a specific database function through my java application)

Below my code:

private void conectaBanco() {

ServiceLocator sl = new ServiceLocator();

InitialContext ic = null;

DataSource dataSource = null;

try {

if (conn == null) {

ic = new InitialContext();

dataSource = (DataSource) ic.lookup(sl.getInfo().getString("JNDI"));

conn = dataSource.getConnection();

conn.setAutoCommit( true );

// I need host, port, sid and password information

System.out.println("USER " + conn.getMetaData().getUserName());

}

} catch (SQLException e) {

logger.error("Erro ao tentar abrir conexao com o banco de dados.", e);

} catch (NamingException e) {

logger.error("Erro ao tentar abrir conexao com o banco de dados.", e);

}

if(conn != null)

rastrear.definePredicate(conn);

}

解决方案

I solve this problem adding on my Weblogic configuration JDBC the additional parameters (host, user, port, sid - the password is returned automaticaly).

And I got this values throw this code below:

import weblogic.jdbc.wrapper.PoolConnection;

import java.util.Properties;

(...)

public Properties retornaPropriedadesConexao(){

PoolConnection pc = (PoolConnection)conn;

Properties p = pc.getConnectionEnv().getDriverProperties();

return p;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值