Foros del Web » Programación para mayores de 30 ;) » Java »

Problemas al conectar el puente JDBC:ODBC desde un servlet

Estas en el tema de Problemas al conectar el puente JDBC:ODBC desde un servlet en el foro de Java en Foros del Web. Hola compañeros, posteo el siguiente codigo para ver si me pueden hechar un cable en algo que me esta cortocircuitando las neuronas y no veo ...
  #1 (permalink)  
Antiguo 01/10/2009, 04:33
Avatar de Antropodo  
Fecha de Ingreso: octubre-2009
Mensajes: 4
Antigüedad: 14 años, 7 meses
Puntos: 0
Problemas al conectar el puente JDBC:ODBC desde un servlet

Hola compañeros, posteo el siguiente codigo para ver si me pueden hechar un cable en algo que me esta cortocircuitando las neuronas y no veo por donde pillarlo...
estoy escribiendo un servlet para conectarme a una base de datos que tengo creada en local en access, pero a la hora de lanzar la excepción generada por el método getConnection (SQLException) me sale error de que no se encuentra de que la url no es correcta..(JDBC:ODBC:J2SeeJDBC)

Pero lo curioso de todo esto es que he probado desde eclipse con un applet apuntando a la misma url (JDBC:ODBC:J2SeeJDBC) y se conecta perfecto.

Es como si al compilarlo con el J2SDK no reconociera el mismo formato de la url desde el servlet que con el applet.

Alguna idea antes de probar con mysql o oracle??


----El código del servlet es el siguiente-------------------------------------------------

import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import java.sql.*;

public class ServletJdbc extends HttpServlet {

Connection conexion = null;

public void init(ServletConfig conf)
throws ServletException {
super.init(conf);
}

public void doGet(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {

res.setContentType("text/html");
PrintWriter out = res.getWriter();

try {
//Leemos el driver
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

//Nos conectamos a la BD local
conexion = DriverManager.getConnection("jdbc:odbc:J2eeJDBC"," ","");


//Decimos que nos hemos conectado
out.println("<html>");
out.println("<body>");
out.println("<h1>¡Hemos conectado!</h1>");
out.println("</body>");
out.println("</html>");

}
catch (ClassNotFoundException e1) {
//Error si no puedo leer el driver de Oracle
out.println("ERROR:No encuentro el driver de la BD: "+
e1.getMessage());
}
catch (SQLException e2) {
//Error SQL: login/passwd mal
out.println("ERROR:Fallo en SQL: "+e2.getMessage());
}
finally {
//Finalmente desconecto de la BD
try {
if (conexion!=null)
conexion.close();
} catch (SQLException e3) {
out.println("ERROR:Fallo al desconectar de la BD: "+
e3.getMessage());
}

}

}

public void doPost(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {
doGet(req, res);
}
}
-------------------------------------------------------------------------------

la base de datos se encuentra en "C:/users/simour/mydocuments/musica.mdb"

y el ODBC se llama "J2eeJDBC".


Gracias!!
  #2 (permalink)  
Antiguo 01/10/2009, 05:07
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Respuesta: Problemas al conectar el puente JDBC:ODBC desde un servlet

Trata de descartar esta posibilidad: Error de la configuracion del servidor web que da acceso a los servlets.

Si no, mira como hacen aquí, igual te falta algo como hacer un getDriver() después de tu código (1):
http://www.proactiva-calidad.com/jav.../conex_bd.html

(1)//En tu código
try {
//Leemos el driver
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
  #3 (permalink)  
Antiguo 01/10/2009, 05:30
Avatar de Antropodo  
Fecha de Ingreso: octubre-2009
Mensajes: 4
Antigüedad: 14 años, 7 meses
Puntos: 0
Respuesta: Problemas al conectar el puente JDBC:ODBC desde un servlet

Ok, revisaré el código... gracias por la inmediatez de la respuesta
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:13.