Tengo la conexion de la aplicacion web que creé por medio de una clase (lo mas normal) y funciona al 100%.
El problema parte que en la empresa, por politicas de seguridad me dicen que debe ser a traves de un DATASOURCE, cosa que no tengo ni idea.
En fin, el datasource ya lo crearon, pero tengo que modificar toda mi aplicacion para que funcione con ese tipo de conexión y no se como hacerlo...
Alguien me puede ayudar????
Mi clase de conexion actual es:
Código:
Yo lo que intente hacer es cambiar el metodo " conectarBD() " por: package daos; import java.util.ResourceBundle; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.SQLException; import exceptions.ConnectionException; public class Conexion { private Connection con; private ResourceBundle rb = ResourceBundle.getBundle("config.conexion"); private ResourceBundle statements = ResourceBundle.getBundle("config.statements"); private String server; private String url; private String login; private String password; private String port; public Conexion() { server = rb.getString("server"); url = rb.getString("url"); login = rb.getString("login"); password = rb.getString("password"); port = rb.getString("port"); } public String getStatement(String nombre){ String valor = (String) statements.getString(nombre); return valor; } public boolean conectarBD() throws ConnectionException { try { Class.forName("oracle.jdbc.driver.OracleDriver"); con = DriverManager.getConnection("jdbc:oracle:thin:@"+server+":"+port+":"+url,login,password); return true; } catch (ClassNotFoundException cnfe) { throw new ConnectionException("Ha ocurrido un error al cargar el driver de Oracle. Error:" + cnfe.getMessage()); }catch (SQLException sqle) { throw new ConnectionException("Ha ocurrido un error al intentar conectarse con Oracle. Error:" + sqle.getMessage()); } } public void cerrarConexion() throws ConnectionException { try { con.close(); }catch (SQLException sqle) { throw new ConnectionException("Ha ocurrido un error al intentar cerrar la conexión con Oracle. Error:" + sqle.getMessage()); } } public PreparedStatement prepareStatement(String sql) throws SQLException{ PreparedStatement ps; ps = con.prepareStatement(sql); return ps; } public PreparedStatement prepararSentencia(String nombre) throws SQLException{ PreparedStatement ps; ps = con.prepareStatement(getStatement(nombre)); return ps; } }
Código:
pero lo que sucede es que no me toma los statements, es decir los query SQL que realizan las acciones en la BD y no se como o no se que esta fallando!!!!!try{ InitialContext initctx = new InitialContext(); DataSource ds = (DataSource)initctx.lookup("jdbc/datasourceAP"); Connection conn = ds.getConnection(); return conn; } catch (Exception e) { throw new SQLException(" Esta es una excepcion en el getConection: "+ e.getMessage()); } }
Por Favor ayudaaaaaaaaaaaaaaaaaaaaaaaaaaaa