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

java.lang.ClassNotFoundException: Problema para conectarme a base de datos SQL Server

Estas en el tema de java.lang.ClassNotFoundException: Problema para conectarme a base de datos SQL Server en el foro de Java en Foros del Web. Buenas noches. Gracias de antemano por tomarse el tiempo en leer mi problema. Estoy haciendo un servlet que obtiene el usuario y contraseña de una ...
  #1 (permalink)  
Antiguo 03/07/2011, 21:55
 
Fecha de Ingreso: junio-2010
Ubicación: Ehhh... ¿Alguien podría decirme donde me encuentro o_O???
Mensajes: 39
Antigüedad: 14 años, 5 meses
Puntos: 0
java.lang.ClassNotFoundException: Problema para conectarme a base de datos SQL Server

Buenas noches. Gracias de antemano por tomarse el tiempo en leer mi problema.

Estoy haciendo un servlet que obtiene el usuario y contraseña de una página web, para así validar que existe ese usuario y contraseña en la base de datos que tengo en SQL Server 2005.

Este es el código que tengo, no está completo, pero tiene lo que necesito para empezae a probar:

Código PHP:
Ver original
  1. import java.sql.*;
  2. import java.io.*;
  3. import javax.servlet.*;
  4. import javax.servlet.http.*;
  5.  
  6. public class verificarUser extends HttpServlet
  7. {
  8.  
  9.     private String Usuario;
  10.     private String Password;
  11.     private String rUsuario;
  12.     private String rPassword;
  13.    
  14.     protected void processRequest(HttpServletRequest request, HttpServletResponse response)
  15.     throws ServletException, IOException
  16.     {
  17.         try
  18.         {
  19.             Usuario=request.getParameter("usuario");
  20.             Password=request.getParameter("clave");
  21.             Statement stConsulta=null;
  22.             ResultSet rsConsulta=null;
  23.             Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
  24.             String connectionUrl = "jdbc:sqlserver://localhost:1433;" +
  25.             "databaseName=Tienda;user=sa;password=12345;";
  26.             Connection conexion=DriverManager.getConnection(connectionUrl);
  27.             stConsulta=conexion.createStatement();         
  28.             rsConsulta=stConsulta.executeQuery("SELECT USERNAME,PASSWORD FROM USUARIO WHERE USERNAME="+Usuario+" AND PASSWORD="+Password);
  29.             while(rsConsulta.next())
  30.             {
  31.                 rUsuario=rsConsulta.getString("USERNAME");
  32.                 rPassword=rsConsulta.getString("PASSWORD");
  33.             }
  34.             if (Usuario.equals(rUsuario) && Password.equals(rPassword))
  35.             {
  36.                 HttpSession sesionActual=request.getSession(true);
  37.                 sesionActual.setAttribute("Usuario",Usuario);
  38.                 response.sendRedirect("CuentaP.jsp");
  39.             }
  40.             else
  41.             {
  42.                 response.sendRedirect("index.jsp");
  43.             }
  44.         }
  45.         catch (SQLException F)
  46.         {
  47.             System.out.println("SQLException: " + F.getMessage());
  48.         }
  49.     }
  50. }

Pues bien, al intentar compilar el archivo, me manda el siguente error:
unreported exception java.lang.ClassNotFoundException; must be caught or declarer
to be thrown
Class.forName("com.microsoft.sqlserver.jdbc.SQLSer verDriver");


Leyendo preguntas similares en el foro, apliqué algunas de las soluciones propuestas, entre esas está la de las variables de entorno, colocar el .jar en el JDK y JRE, etc., pero ninguna ha funcionado.

Sin embargo, al ejecutar este driver en Tomcat con JSP me reconoce el driver, que lo tengo actualmente en ej JRE.

Mi problema es al intentar compilar código JAVA con el JDK.

¿Alguien tiene alguna idea que me pueda servir para solucionar el problema?

Recuerdo que estoy trabajando con SQL Server 2005, y la cadena para importar el driver está bien, porque la probé con JSP y sí funciona.

Gracias de antemano por la ayuda que me brinden...
  #2 (permalink)  
Antiguo 06/07/2011, 04:23
Avatar de edjuradob  
Fecha de Ingreso: junio-2011
Ubicación: España
Mensajes: 24
Antigüedad: 13 años, 5 meses
Puntos: 1
Respuesta: java.lang.ClassNotFoundException: Problema para conectarme a base de datos

Lo que te esta diciendo es que no estas capturando ni generando la excepción ClassNotFoundException. Para que te funcione, bastaría con que en el catch pusieras que se capture esa excepción o que capturaras la excepcion Exception, para que reconozca que capturas las excepciones que puede generar tu código. Como recomendación para tener un código mas robusto deberías poner todas las excepciones que se puedan producir controladas y una excepción genérica para las que no tengas controladas por el momentol.
  #3 (permalink)  
Antiguo 06/07/2011, 13:14
 
Fecha de Ingreso: junio-2011
Mensajes: 39
Antigüedad: 13 años, 5 meses
Puntos: 16
Respuesta: java.lang.ClassNotFoundException: Problema para conectarme a base de datos

Una de dos:

en la linea 15 de tu codigo agrega: ,ClassNotFoundException

Ó

Agrega otro catch +o- asi:

Código java:
Ver original
  1. {
  2.             System.out.println("ClassNotFoundException : " + e.getMessage());
  3. }
__________________
Saludos desde Colombia.
http://labs.distrit.co
  #4 (permalink)  
Antiguo 06/07/2011, 16:32
 
Fecha de Ingreso: junio-2010
Ubicación: Ehhh... ¿Alguien podría decirme donde me encuentro o_O???
Mensajes: 39
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: java.lang.ClassNotFoundException: Problema para conectarme a base de datos

Gracias a los dos, era eso lo que me faltaba...

Etiquetas: jdbc, jdk, jre, server, servlet, sql
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 23:20.