Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Java (http://www.forosdelweb.com/f45/)
-   -   conexion java-mysql (http://www.forosdelweb.com/f45/conexion-java-mysql-445150/)

Farookh_Bulsara 21/11/2006 16:45

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.

GreenEyed 22/11/2006 02:28

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.

Farookh_Bulsara 22/11/2006 08:16

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

GreenEyed 22/11/2006 12:13

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

Farookh_Bulsara 23/11/2006 19:30

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?

GreenEyed 24/11/2006 01:19

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.

Farookh_Bulsara 24/11/2006 20:35

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?

RafoRaY 24/11/2006 21:31

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.

RafoRaY 24/11/2006 21:33

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

Farookh_Bulsara 25/11/2006 15:32

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?

Farookh_Bulsara 29/11/2006 08:05

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

ahhhh_my_god 24/01/2007 12:38

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

GreenEyed 24/01/2007 15:24

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.

sravinovich 04/02/2008 14:04

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!!:-)


La zona horaria es GMT -6. Ahora son las 05:07.

Desarrollado por vBulletin® Versión 3.8.7
Derechos de Autor ©2000 - 2026, Jelsoft Enterprises Ltd.