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

conexion java-mysql

Estas en el tema de conexion java-mysql en el foro de Java en Foros del Web. como hago la conexion entre java y mysql? tengo instalado el mysql 4.0.x.x pero solo encuentro drives para conectar a mysql de versiones 3.0,3.1 y ...
  #1 (permalink)  
Antiguo 21/11/2006, 16:45
Avatar de Farookh_Bulsara  
Fecha de Ingreso: mayo-2004
Mensajes: 1.185
Antigüedad: 19 años, 11 meses
Puntos: 2
conexion java-mysql

como hago la conexion entre java y mysql? tengo instalado el mysql 4.0.x.x
pero solo encuentro drives para conectar a mysql de versiones 3.0,3.1 y 5.0 ,funciona si lo pongo por decir para mysql 3.0 funcionaria igual?yo tengo instalado el mysql 4.0.
__________________
"Todas las cosas deben mostrarse primero con mascaras tetricas y terrorificas para que puedan inscribirse a si mismas en el corazon de la humanidad"
  #2 (permalink)  
Antiguo 22/11/2006, 02:28
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Normalmente es más seguro usar versiones superiores del driver JDBC que las inferiores. Así que a no ser que te de algun problema raro, mejor usa la version para MySQL 5 ya que seguramente estara pensada para ser compatible con versiones anteriores.
  #3 (permalink)  
Antiguo 22/11/2006, 08:16
Avatar de Farookh_Bulsara  
Fecha de Ingreso: mayo-2004
Mensajes: 1.185
Antigüedad: 19 años, 11 meses
Puntos: 2
en que directorio de java debo poner el driver(.jar)? la mayoria sugiere que ponga donde esta mi programa (mi .java) perono funciona al compilarlo aparece :
C:\Archivos de programa\Xinox Software\JCreatorV3\MyProjects\PruebaMySQL.java:20 : package org.gjt.mm.mysql does not exist
DriverManager.registerDriver(new org.gjt.mm.mysql.Driver());
^
1 error

Process completed.


parece que el no esta reconociendo el driver
la verdad no se como instale mi java ,pero tengo instala do en c:\Archivos de progra..\java\
+j2re1.4.2
+j2re1.4.2_01
+jdk1.5.0
+jre1.5.0

y tambien tengo en C:\JSDK2.0 ,este no se para que servira , es que instale de todo para que pueda compilar mis programas
para que sirve cada uno de esas 5 carpetas? instale algunas de mas? creo q solo se instala el jdk ,no?
ahora ,donde va el driver?, una ayuda porfavor
__________________
"Todas las cosas deben mostrarse primero con mascaras tetricas y terrorificas para que puedan inscribirse a si mismas en el corazon de la humanidad"
  #4 (permalink)  
Antiguo 22/11/2006, 12:13
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Para que funcione tienes que configurar el classpath para que incluya tu fichero .jar, tanto en compilacion como en ejecucion.

Una opcion es ejecutar los comandos con -cp para pasarles directamente el classpath.
Si tienes tus .java y el fichero .jar en el mismo directorio, te vas a ese directorio y ejecutas:

javac -cp .;FicheroDriver.jar MiClase.java

y deberia funcionar.

Investiga el concepto de classpath y como funciona, es imprescindible en Java.
http://java.sun.com/j2se/1.4.2/docs/...classpath.html
  #5 (permalink)  
Antiguo 23/11/2006, 19:30
Avatar de Farookh_Bulsara  
Fecha de Ingreso: mayo-2004
Mensajes: 1.185
Antigüedad: 19 años, 11 meses
Puntos: 2
ya me funciona bien el conector, porque no me da la execpcion osea pongo solo el conector ,osea:
try{
DriverManager.registerDriver(new org.gjt.mm.mysql.Driver());
}catch(Exception e){
System.out.println("no existe el controlador");
}

si estari mal el controlador o no se encontraria en la ubcacion correcta me dari la execpcion,no?

ahora tengo otro problema ,no puedo conectarme a la base de datos
try
{
// Este driver está en mysql-connector-java-3.1.7-bin.jar
DriverManager.registerDriver(new org.gjt.mm.mysql.Driver());

// Establecemos la conexión con la base de datos.
Connection conexion = DriverManager.getConnection ("jdbc:mysql://localhost/prueba","usuario", "pass");


}
catch (SQLException e)
{

System.out.println("Ahora es la execpcion para el Connection");
System.out.println("SQLException: " + ex.getMessage());
System.out.println("SQLState: " + ex.getSQLState());
System.out.println("VendorError: " + ex.getErrorCode());

}
}

noten que ahora q pongo la conexion en un try ,catch con SQLException y me da una excepcion, es esta:
Comunications link failure due to underlying exception:
dice algo como que el hosting es desconocido
me da esa excepcion porque el Connection esta fallando,no? sino la anterior hubiera dado alguna excepcion
osea por consola hago los siguiente
tengo instalado el appserv,ose viene el mysql,phpAdmin,php y apache , lo configure como viene por defecto y para entrar por consola hago esto
C:\appserv\mysql\bin (aqui estan los .exe de mysql)
entonces:
C:\appserv\mysql\bin>mysql -h localhost -u usuario -p pass
y entra, entra bien a mysql
estan las base de datos,todas
show databases;
me muestran todas, ahora el problema es porque no puedo conectarme con mysql desde java, porrque? o la llamada al driver esta mal? pero si estari mal me daria la excepcion primera q les mostre,no?


como hago ahora?
cual es la diferencia de usar
Class.forName("com.mysql.jdbc.Driver");
y
DriverManager.registerDriver(new org.gjt.mm.mysql.Driver());
talvez estoy fallando en el dirver

ahora estoy usando el que esta en:
http://dev.mysql.com/downloads/connector/j/5.0.html
Source and Binaries (zip)
escogi el mirror de argentina y bajo, talvez estoy fallando en algo?
el nombre del jar es este(del conector):
mysql-connector-java-5.0.4-bin.jar

tambien hice la prueba con
mysql-connector-java-3.1.1-alpha-bin.jar
y no conecta , como hago ?

el driver lo puse en c:\Archivos de programa\Java\jdk1.5.0\jre\lib\ext
porque en mi directorio c:\Archivos de programa\Java\jdk1.5.0\bin ahi estan los archivos con los que compila,ejecuta, crea el jar ,etc mi JCreator
esta bien donde lo puse el conector? a mi me dijeron q era asi, ya lei eso del classpath pero es otro lio, es para compilar ,java de direccions distintas y todo eso ,mi JCreator ya venia configurado por defecto con esas mejoras
porfavor ayudenme donde estoy fallando?
__________________
"Todas las cosas deben mostrarse primero con mascaras tetricas y terrorificas para que puedan inscribirse a si mismas en el corazon de la humanidad"
  #6 (permalink)  
Antiguo 24/11/2006, 01:19
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Si te dice "Comunications link failure due to underlying exception" y te dice algo de host desconocido, asegurate que tienes en marcha la base de datos en marcha en el puerto por defecto, etc, etc.

Eso suele indicar que la cadena de conexion apunta a un host que no existe o donde no hay una BDD en marcha.
  #7 (permalink)  
Antiguo 24/11/2006, 20:35
Avatar de Farookh_Bulsara  
Fecha de Ingreso: mayo-2004
Mensajes: 1.185
Antigüedad: 19 años, 11 meses
Puntos: 2
ya hice una consulta desde sql en java
pero hay un roblema
agregue el conector.jar de esta forma:
set CLSSPATH=C:\conector.jar; (El conector esta en el root de C)
ahora funciona bien las consultas y todo ,pero ,la interfaz de usuario no funciona ,osea esta en otra carpeta la IU y no lo compila dice q no se puso esa carpeta al classpath o algo asi,cmo se hace eso? antes de poner sel set classs... funcionaba bien al compilarlo la interfaz de usuario

tengo una duda mayor
cuales son los instaladores que debo tener para que funcione java?
osea tengo instalado de esta forma:
:\Archivos de progra..\java\
+j2re1.4.2
+j2re1.4.2_01
+jdk1.5.0
+jre1.5.0

donde esta el compilador e interprete de java es en jdk1.5.0

pero en los tutoriales que veo donde compilan lo tienen en :
C:\j2sk1.4.0\bin

es distinto el jdk con el j2sdk?

cual es lo ultima version que salio?
__________________
"Todas las cosas deben mostrarse primero con mascaras tetricas y terrorificas para que puedan inscribirse a si mismas en el corazon de la humanidad"
  #8 (permalink)  
Antiguo 24/11/2006, 21:31
Avatar de RafoRaY  
Fecha de Ingreso: diciembre-2005
Mensajes: 42
Antigüedad: 18 años, 4 meses
Puntos: 0
Muchacho
Tienes que inportar el jar de coneccion de MySql a tu proyecto. Como lo inportas? Depende dle IDE que uses ....
En el ECLIPSE, solo selecionas el proyecto, le das click derecho y en propiedades ......
Hay una columna a la izq, dice "java build path" lo selecionas y a la derecha te aparece varios botones, uno de ellos de "Add External JAR" lo agregas y listo.
  #9 (permalink)  
Antiguo 24/11/2006, 21:33
Avatar de RafoRaY  
Fecha de Ingreso: diciembre-2005
Mensajes: 42
Antigüedad: 18 años, 4 meses
Puntos: 0
Ahora les tengo una consulta !!
Como hago pa conectarme a MySql pero q esta en otra maquina. Explico:
La BD la tengo en una maquina y el aplicativo que se conecta a la BD esta en otra.
Como logro hacer la coneccion??????
He intentado poniendole la ip en lugar que "localhost" en la cadena de conexion pero no pasa nahhh !!!
AYUDENME PORFAA
  #10 (permalink)  
Antiguo 25/11/2006, 15:32
Avatar de Farookh_Bulsara  
Fecha de Ingreso: mayo-2004
Mensajes: 1.185
Antigüedad: 19 años, 11 meses
Puntos: 2
como ya les dije hice :
set CLASSPATH=C:\conector.jar
con esto agrego a mi classpath el conector,no?
estoy usando el JCreator ,como agrego el .jar a mi proyecto?
que diferencias hay entre el j2sdk y el jdk? es q en la mayoria de los tutoriales configuran el jar en el j2sk y yo uso para compilar y ejecutar mis programas con el jdk, existe alguna diferencia?
__________________
"Todas las cosas deben mostrarse primero con mascaras tetricas y terrorificas para que puedan inscribirse a si mismas en el corazon de la humanidad"
  #11 (permalink)  
Antiguo 29/11/2006, 08:05
Avatar de Farookh_Bulsara  
Fecha de Ingreso: mayo-2004
Mensajes: 1.185
Antigüedad: 19 años, 11 meses
Puntos: 2
ya agregue el conector.jar a mi classpath ,ya lo puedo ver al hacer "set" desde el cmd
osea ya esta bien ,pero ahora me sale un problema
este es un simple codigo para ver si funciona la conexion a mysql:
import java.sql.*;


public class PruebaMySQL {

ResultSet res=null;
String consulta="";

public PruebaMySQL() {
try
{


Class.forName("com.mysql.jdbc.Driver").newInstance ();

Connection c=DriverManager.getConnection("jdbc:mysql://localhost/prueba","root","");


}
catch (Exception e)
{
//System.out.println(e.getClass());
e.printStackTrace();
}


}


public static void main(String[] args) {
new PruebaMySQL();
}

}

me da una excepcion

java.sql.SQLException: Unable to connect to any hosts due to exception: java.net.UnknownHostException: localhost

a mysql me conecto de la sgte forma:
c:\mysql\bin>mysql -h localhost -u root
y entra sin ningun problema y dentro de ahi tengo una base de datos llamada prueba y funciona
porque me esta saliendo esa excepcion ,
ya puse el .jar al classpath y tambien lo puse en el jdk\jre\lib\ext
ayuda porfavor
__________________
"Todas las cosas deben mostrarse primero con mascaras tetricas y terrorificas para que puedan inscribirse a si mismas en el corazon de la humanidad"
  #12 (permalink)  
Antiguo 24/01/2007, 12:38
(Desactivado)
 
Fecha de Ingreso: enero-2007
Mensajes: 13
Antigüedad: 17 años, 3 meses
Puntos: 0
Re: conexion java-mysql

hola saben he estado leyendo lo anterior por que estoy enb las mismas pero tengo un problema me aparece el sgte error:

java.sql.SQLException: Unknown initial character set index '48' received from server. Initial client character set can be forced via the 'characterEncoding' property.

y no se que indica estoy usando bluej para compilar mis .java pero no me resulta la coneccion...

puta ojala me ayuden
  #13 (permalink)  
Antiguo 24/01/2007, 15:24
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Re: conexion java-mysql

"Google is your friend"

El error que pones, directamente en google sin hacer nada, devuelve como primer resultado cual es el problema y su estado.
  #14 (permalink)  
Antiguo 04/02/2008, 14:04
 
Fecha de Ingreso: febrero-2008
Mensajes: 8
Antigüedad: 16 años, 2 meses
Puntos: 0
De acuerdo Re: conexion java-mysql

Verifa q el .jar este en el siguiente directorio:

//C:\Archivos de programa\Java\jdk1.5.0_05\jre\lib\ext\mysql-connector-java-3.1.11-bin.jar



Suerte!!
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 09:15.