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

Problema con el conector de Java y MYSQL

Estas en el tema de Problema con el conector de Java y MYSQL en el foro de Java en Foros del Web. Hola!! Tengo una duda que me gustaria que me pudieseis explicar. Me he bajado el conector de Java con Mysql, en concreto el "mysql-connector-java-5.1.8-bin.jar". Mi ...
  #1 (permalink)  
Antiguo 30/07/2009, 09:14
 
Fecha de Ingreso: julio-2009
Mensajes: 30
Antigüedad: 14 años, 9 meses
Puntos: 0
Problema con el conector de Java y MYSQL

Hola!!

Tengo una duda que me gustaria que me pudieseis explicar.

Me he bajado el conector de Java con Mysql, en concreto el "mysql-connector-java-5.1.8-bin.jar".

Mi duda es que no se donde tengo que ponerlo, por más que he estado mirando páginas por ahi. Otra cosa que tampoco acabo de entender es que yo he creado una base de datos con MYSQL. He utilizado un Schema llamado "miPrueba" y dentro de el tengo las tablas.

Lo que no entiendo es esta sintaxis:
Connection conexion = DriverManager.getConnection("jdbc:mysql://localhost:3306/grupo10",usuario,contraseña);

Porque cuando yo ponga eso no se porque no va a ir bien, ya que yo la base de datos no la tengo creada en el servidor, sino que la tengo en "C:\xampp\mysql\data".

Gracias por adelantado!
  #2 (permalink)  
Antiguo 30/07/2009, 10:38
Avatar de Gguer  
Fecha de Ingreso: abril-2009
Mensajes: 125
Antigüedad: 15 años
Puntos: 1
Respuesta: Problema con el conector de Java y MYSQL

Hola, el código al que te refieres es casi el necesario para conectar tu aplicación o tu clase con la base de datos:

"jdbc:mysql://localhost:3306/grupo10",usuario,contraseña

No te preocupes porque esa dirección no sea igual a la de tu base de datos, localhost:3306 se refiere al directorio en donde tus bases de datos se ecuentran, generalmente es el puerto 3306, recuerdas que cuando instalas MySQL te pregunta sobre un puerto? Pues es ese. Si no lo cambiaste ahí es donde se encontrarán todas tus bases de datos.

grupo10 se refiere al nombre de labase de datos con la cual quieres realizar la conexión. Si le pusiste alguna clave para iniciar MySQL la tendrás que poner en el espacio de contraseña y tu usuario, que generalmente es root, también va ahí.

Para que tu código esté completo necesitarás lo siguiente:
Class.forName("com.mysql.jdbc.Driver");

Supongo que ya lo tienes pero por si las dudas

El conector se coloca en el siguiente directorio:

C:\Archivos de programa\Java\jdk\jre\lib\ext

El nombre de la carpeta "jdk" dependerá de qué versiónde java tengas instalada.
Si tu servidor es Tomcat el conector también deberás colocarlo aquí, en la carpeta de lib de Tomcat. Una cosa importante es colocar la dirección del conector que se encuentra en la carpeta de java en tu CLASSPATH. Ala dirección que te puse arriba sólo le agregarás el nombre del conector y su extensión (.jar) y listo.

Ojalá te ayude esto, suerte!
  #3 (permalink)  
Antiguo 30/07/2009, 14:30
 
Fecha de Ingreso: julio-2009
Mensajes: 30
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Problema con el conector de Java y MYSQL

He hecho los pasos que me has indicado. He pegado el archivo en estas carpetas:

1 - C:\Archivos de programa\Java\jdk1.6.0_14\jre\lib\ext
2 - C:\Archivos de programa\Apache Software Foundation\Tomcat 6.0\lib

Lo que no he acabado de entender es el ultimo parrafo:
Código:
Una cosa importante es colocar la dirección del conector que se encuentra
en la carpeta de java en tu CLASSPATH. Ala dirección que te puse arriba
sólo le agregarás el nombre del conector y su extensión (.jar) y listo
Como puedo hacer eso? Gracias de nuevo!
  #4 (permalink)  
Antiguo 30/07/2009, 14:36
 
Fecha de Ingreso: julio-2009
Mensajes: 30
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Problema con el conector de Java y MYSQL

Mira el mensaje de error que me da:

Código:
Descripción: El servidor encontró un error interno () que hizo que no pudiera rellenar este requerimiento.

Excepción: org.apache.jasper.JasperException: Ha sucedido una excepción al procesar la página JSP /cabecera.jsp en línea 21

18: 	else
19: 	{
20: 		//2n pas
21: 		Connection conexion = DriverManager.getConnection("jdbc:mysql://localhost:3306/grupo10","root","");
22: 		
23: 		//CONEXIÓN DIRECTA A MYSQL
24: 		Class.forName("com.mysql.jdbc.Driver").newInstance();
No se si con eso sabrías decirme el motivo.....Llevo casi 2 horas y no me hago con el problema! :s


EDITO: Ya lo tengo, esque resulta que tenia 2 cadenas de conexión muy parecidas, y no veia que era lo mismo y se volvía loco!

GRACIAS POR TODOOOOOOOO!!!!!!!!!1
  #5 (permalink)  
Antiguo 30/07/2009, 14:49
Avatar de Gguer  
Fecha de Ingreso: abril-2009
Mensajes: 125
Antigüedad: 15 años
Puntos: 1
Respuesta: Problema con el conector de Java y MYSQL

Bueno entonces ya ha quedado resuelto tu problema?

Todo listo con LA CLASSPATH?
  #6 (permalink)  
Antiguo 31/07/2009, 11:15
 
Fecha de Ingreso: julio-2009
Mensajes: 30
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Problema con el conector de Java y MYSQL

Cita:
Iniciado por kipersonic0 Ver Mensaje
Bueno entonces ya ha quedado resuelto tu problema?

Todo listo con LA CLASSPATH?


Sip, lo del classpath ya ta. Lo puse donde te dije y todo marcha correctamente!
Gracias!
  #7 (permalink)  
Antiguo 16/08/2011, 10:26
 
Fecha de Ingreso: noviembre-2010
Mensajes: 2
Antigüedad: 13 años, 5 meses
Puntos: 0
Respuesta: Problema con el conector de Java y MYSQL

hola yo una consulta... como solucionaste tu problema yo tengo algo parecido pero con base de datos oracle y ya no se que hacer :(


<%
/*Parametros para realizar la conexión*/
Connection conexion=null;
Class.forName("oracle.jdbc.driver.OracleDriver").n ewInstance();
//Class.forName("com.mysql.jdbc.Driver").newInstance ();
//conexion con la base de datos
conexion = DriverManager.getConnection("jdbc:oracle:thin:@loc alhost:1521:basededatos","user","pass");
/*Establecemos la ruta del reporte*/
File reportFile = new File(application.getRealPath("report1.jasper"));
/* No enviamos parámetros porque nuestro reporte no los necesita asi que escriba cualquier cadena de texto ya que solo seguiremos el formato del método runReportToPdf*/
Map parameters = new HashMap();
//no necesito parametros
/*Enviamos la ruta del reporte, los parámetros y la conexión(objeto Connection)*/
byte[] bytes = JasperRunManager.runReportToPdf(reportFile.getPath (), parameters, conexion);
/*Indicamos que la respuesta va a ser en formato PDF*/
response.setContentType("application/pdf");
response.setContentLength(bytes.length);
ServletOutputStream ouputStream = response.getOutputStream();
ouputStream.write(bytes, 0, bytes.length);
/*Limpiamos y cerramos flujos de salida*/
ouputStream.flush(); ouputStream.close();
%>

el error que evia es el siguiente


org.apache.jasper.JasperException: Ha sucedido una excepción al procesar la página JSP /report.jsp en línea 23

20: //parameters.put("query", new String("SELECT CON_FECHA, CON_CANT_REGS, TO_CHAR(CON_FECHA_GRABACION, 'YYYY/MM/DD') AS fecha FROM CONCILIACION_SIEM"));
21: /*Enviamos la ruta del reporte, los parámetros y la conexión(objeto Connection)*/
22: System.out.println(reportFile.getPath() + " "+ parameters + " " + null);
23: byte[] bytes = JasperRunManager.runReportToPdf(reportFile.getPath (), parameters, conexion);
24: /*Indicamos que la respuesta va a ser en formato PDF*/
25: response.setContentType("application/pdf");
26: response.setContentLength(bytes.length);


Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handle JspException(JspServletWrapper.java:519)
org.apache.jasper.servlet.JspServletWrapper.servic e(JspServletWrapper.java:428)
org.apache.jasper.servlet.JspServlet.serviceJspFil e(JspServlet.java:313)
org.apache.jasper.servlet.JspServlet.service(JspSe rvlet.java:260)
javax.servlet.http.HttpServlet.service(HttpServlet .java:717)
com.sun.faces.context.ExternalContextImpl.dispatch (ExternalContextImpl.java:408)
com.sun.faces.application.ViewHandlerImpl.executeP ageToBuildView(ViewHandlerImpl.java:442)
com.sun.faces.application.ViewHandlerImpl.renderVi ew(ViewHandlerImpl.java:115)
com.sun.faces.lifecycle.RenderResponsePhase.execut e(RenderResponsePhase.java:106)
com.sun.faces.lifecycle.LifecycleImpl.phase(Lifecy cleImpl.java:251)
com.sun.faces.lifecycle.LifecycleImpl.render(Lifec ycleImpl.java:144)
javax.faces.webapp.FacesServlet.service(FacesServl et.java:245)
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 00:17.