sql - Oracle 10g database integration in a java web application -


i'm building program in java runs through jboss 5.0.1 application server. program has consult , update tables in oracle 10g database i'm having lot of trouble it.

basically, have class called dao connects whith database , makes simple query through method "prueba()". here's implementation of class:

package dao;  import java.io.file; import java.io.fileinputstream; import java.sql.connection; import java.sql.drivermanager; import java.sql.preparedstatement; import java.sql.resultset; import java.sql.sqlexception; import java.util.linkedlist; import java.util.properties;  import valueobject.itemfisico;    public class dao {  //---------------------------------------------------- //constantes //---------------------------------------------------- /**  * ruta donde se encuentra el archivo de conexion.  */ public final static string archivo_propiedades = "./data/conexion.properties";  //---------------------------------------------------- //atributos //---------------------------------------------------- /**  * conexion con la base de datos  */ public connection conexion;  /**  * nombre del usuario para conectarse la base de datos.  */ private string usuario;  /**  * clave de conexion la base de datos.  */ private string clave;  /**  * url al cual se debe conectar para acceder la base de datos.  */ private string cadenaconexion;  /**  * constructor de la clase. no inicializa ningun atributo.  */ public dao()  {         }  // ------------------------------------------------- // metodos // -------------------------------------------------  /**  * obtiene ls datos necesarios para establecer una conexion  * los datos se obtienen partir de un archivo properties.  */ public void inicializar() {     try     {         file arch= new file(archivo_propiedades);         properties prop = new properties();         fileinputstream in = new fileinputstream( arch );          prop.load( in );         in.close( );          cadenaconexion = prop.getproperty("url");            usuario = prop.getproperty("usuario");           clave = prop.getproperty("clave");           final string driver = prop.getproperty("driver");         class.forname(driver);      }     catch(exception e)     {         e.printstacktrace();     }    }  /**  * metodo que se encarga de crear la conexion con el driver manager  * partir de los parametros recibidos.  * @param url direccion url de la base de datos la cual se desea conectar  * @param usuario nombre del usuario que se va conectar la base de datos  * @param clave clave de acceso la base de datos  * @throws sqlexception si ocurre un error generando la conexion con la base de datos.  */ private void establecerconexion(string url, string usuario, string clave) throws sqlexception {     try     {         conexion = drivermanager.getconnection(url,usuario,clave);     }     catch( sqlexception exception )     {         throw new sqlexception( "error: consultadao obteniendo una conexion." );     } }  /**  *cierra la conexion activa la base de datos. ademas, con=null.  * @param con objeto de conexion la base de datos  * @throws sistemacinesexception si se presentan errores de conexion  */ public void closeconnection(connection connection) throws exception {             try {         connection.close();         connection = null;     } catch (sqlexception exception) {         throw new exception("error: consultadao: closeconnection() = cerrando una conexion.");     } }   // --------------------------------------------------- // metodos asociados los casos de uso: consulta // ---------------------------------------------------    public void prueba() throws exception{     string prueba = "select * parranderos.bares b b.presupuesto='bajo' ";       preparedstatement st=null;      try{         inicializar();         establecerconexion(cadenaconexion, usuario, clave);         st = conexion.preparestatement(prueba);          resultset r= st.executequery(prueba);         while(r.next()){             system.out.println(r.getint("id")+":"+r.getstring("nombre")+":"+r.getstring("ciudad")+":"+r.getstring("presupuesto")+":"+r.getstring("cant_sedes"));          }      }     catch(exception e)     {         e.printstacktrace();      }      finally{         if (st != null)          {             try {                 st.close();             } catch (sqlexception exception) {                  throw new exception("error: consultadao: loadrow() =  cerrando una conexi�n.");             }         }         closeconnection(conexion);     }  }   } 

here's thing, in class works fine, have run java application through simple main() method , performs query fine. driver .jar placed , referenced , properties used connection fine.

now, when run whole application (including other classes servlets , so) mounted on running server, , try run again method "prueba()", crashes. gets filenotfoundexception caused conexion.properties file, exists!!!.

i not expert on web applications , don't know if have make changes on server configuration or in place. can me?

the problem using absolute path ./data/conexion.properties fine when run program locally. deploying application server, make path invalid because file in other location (e.g. /apps/jboss/.../myapp/data/conexion.properties). in inicializar method replace following

file arch= new file(archivo_propiedades); 

with

url url = getclass().getclassloader().getresource("conexion.properties"); file arch= new file(url.getfile()); 

Comments

Popular posts from this blog

Android layout hidden on keyboard show -

google app engine - 403 Forbidden POST - Flask WTForms -

c - Why would PK11_GenerateRandom() return an error -8023? -