Bienvenido(a), Visitante. Favor de ingresar o registrarse.
Diciembre 05, 2008, 10:50:19
Inicio Ayuda Buscar Ingresar Registrarse
Noticias: Foro de Java, C++ y más.

Empieza una nueva comunidad de programación: Oneble ... es lo que tu quieras que sea

+  Foros Java y C/Linux
|-+  Programación
| |-+  Java J2SE
| | |-+  Problemas con la conexión a base de datos MySQL - Ayuda por favor
« anterior próximo »
Páginas: [1] 2 Enviar tema Imprimir
Autor Tema: Problemas con la conexión a base de datos MySQL - Ayuda por favor  (Leído 554 veces)
tecnitek
Newbie
*
Mensajes: 15


Ver Perfil


« en: Julio 15, 2008, 02:51:43 »

Buenos días:

Estoy un tanto perdido sobre cómo hacer esto exactamente. Necesito conctarme a una base de datos MySQL, y he seguido el tutorial de esta página sobre el tema (http://www.chuidiang.com/java/mysql/mysql-java-basico.php), pero el problema principal lo tengo al principio cuando debo poner el mysql-connector-java-5.0.5-bin.jar accesible a mi proyecto.

Estoy trabajando con el terminal de Ubuntu y no se ni por donde empezar, aunque he seguido las directrices de incluirlo en la CLASSPATH seguramente no lo habré hecho bien por qué no funciona. Qué debo hacer exactamente??

Muchas gracias por adelantado!
En línea
hipoter
Jr. Member
**
Mensajes: 56


hipoter@hotmail.com
Ver Perfil Email
« Respuesta #1 en: Julio 15, 2008, 02:58:21 »

Aquí tienes otro, utiliza google que hay muchas entradas.

http://jcriblog.blogspot.com/2007/07/conectar-java-con-mysql-usando-netbeans.html
En línea
tecnitek
Newbie
*
Mensajes: 15


Ver Perfil
« Respuesta #2 en: Julio 15, 2008, 03:12:57 »

Muchas gracias. Realmente si hay entradas y el tutorial que me pasas está muy interesante. El problema es que no puedo utilizar programas, debo hacerlo todo mediante el terminal de Ubuntu, y no se cómo vincular el .jar a mi programa. Tampoco encuentro lugares referidos a ello, y a pesar de que aquí hay un tutorial (http://www.chuidiang.com/java/classpath/classpath.php) no debo haberlo seguido bien o algo por qué me sigue petando el programa de prueba en el reconocimiento del Driver--> DriverManager.registerDriver(new org.gjt.mm.mysql.Driver());

Alguna idea por favor? Gracias de nuevo!
En línea
chuidiang
Administrator
Hero Member
*****
Mensajes: 1985



Ver Perfil WWW Email
« Respuesta #3 en: Julio 15, 2008, 04:18:46 »

¿Cómo has puesto el classpath?

Se bueno.
En línea

tecnitek
Newbie
*
Mensajes: 15


Ver Perfil
« Respuesta #4 en: Julio 15, 2008, 06:25:21 »

He copiado el archivo mysql-connector-java-5.0.8-bin.jar en /usr/lib/jvm/java-6-sun-1.6.0.06/jre/lib/ext/ .

Es correcto así? si no, cómo debería haberlo hecho? Gracias de nuevo!
En línea
chuidiang
Administrator
Hero Member
*****
Mensajes: 1985



Ver Perfil WWW Email
« Respuesta #5 en: Julio 15, 2008, 06:48:58 »

Hola:

Esa es una opción, pero nos estas engañando un poquito  Lengua . En el tutorial que mencionas no pone nada de eso.

¿Qué error te da?

Se bueno.
En línea

tecnitek
Newbie
*
Mensajes: 15


Ver Perfil
« Respuesta #6 en: Julio 16, 2008, 09:44:00 »

Según el ejemplo que hay en (http://www.chuidiang.com/java/mysql/PruebaMySQL.java.txt) he simplificado el programa hasta el siguiente caso, sólo para probar:

import java.sql.*;

public class MiClase{
   public MiClase(){   
      try{
          DriverManager.registerDriver(new org.gjt.mm.mysql.Driver());
      }
      catch(Exception e){
         e.printStackTrace();
      }
   }
 public static void main(String[] args)
    {
        new MiClase();
    }

}

En la línia de comandos del terminal modifico el classpath de este modo (interpreté que había que incluir el .jar en el CLASSPATH):

CLASSPATH=<path dónde esta mi "mysql-connector-java-5.0.8-bin.jar>; export CLASSPATH

Entonces no me da errores de compilación, pero en la ejecución surge lo siguiente:

1. ERROR in MiClase.java (at line 6)
   DriverManager.registerDriver(new org.gjt.mm.mysql.Driver());
                                    ^^^^^^^
org.gjt cannot be resolved to a type


P.D: No era mi pretensión engañar, lo siento, he mirado otros tutoriales y me confundí. Siguiendo exclusivamente los de esta página, he llegado hasta aquí. Gracias por el interés!!
En línea
hipoter
Jr. Member
**
Mensajes: 56


hipoter@hotmail.com
Ver Perfil Email
« Respuesta #7 en: Julio 16, 2008, 10:31:50 »

No estoy de todo seguro, ya que yo no utilizo esa forma para registrar el driver pero el driver yo lo cargo de la siguiente manera:


Código:
public void conecta(String ip) {
        try {
            Class.forName("com.mysql.jdbc.Driver").newInstance();
            System.out.println("** Driver registrado correctamente. **");
            conn = DriverManager.getConnection("jdbc:mysql://" +ip+ ":3306/tpv", "usuario", "clave");
            System.out.println("** Conexión establecida con la Base de datos. **");   
        } catch (Exception e) {
            System.out.println(e.getMessage());
            JOptionPane.showMessageDialog(null, "La ip que ha especificado no es correcta.");
        }
    }
En línea
tecnitek
Newbie
*
Mensajes: 15


Ver Perfil
« Respuesta #8 en: Julio 16, 2008, 10:56:19 »

No estoy de todo seguro, ya que yo no utilizo esa forma para registrar el driver pero el driver yo lo cargo de la siguiente manera:

He seguido tu ejemplo, pero me surge el siguiente error en la ejecución:

1 problem (1 warning)pep@pep-laptop:~/Escritorio$ java MiClase
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver not found in gnu.gcj.runtime.SystemClassLoader{urls=[file:./], parent=gnu.gcj.runtime.ExtensionClassLoader{urls=[], parent=null}}
   at java.net.URLClassLoader.findClass(libgcj.so.81)
   at gnu.gcj.runtime.SystemClassLoader.findClass(libgcj.so.81)
   at java.lang.ClassLoader.loadClass(libgcj.so.81)
   at java.lang.ClassLoader.loadClass(libgcj.so.81)
   at java.lang.Class.forName(libgcj.so.81)
   at java.lang.Class.forName(libgcj.so.81)
   at MiClase.<init>(MiClase.java:7)
   at MiClase.main(MiClase.java:16)

Lo que supongo que significa que no he vinculado bien el .jar. El problema debe radicar ahi, pero no se cómo hacerlo; lo único que intenté fue modificar el CLASSPATH como puse en mi anterior post, (que seguramente debe estar mal) pero nada.

Utilizando el NetBeans, si lo he conseguido, creando una nueva libreria que incluya el .jar requerido y vinculándola al proyecto. El problema es que debo compilar desde el terminal (requisitos de la práctica ya ven) y no consigo vincular bien el .jar para que funcione.

Muchas gracias por las sugerencias.
En línea
hipoter
Jr. Member
**
Mensajes: 56


hipoter@hotmail.com
Ver Perfil Email
« Respuesta #9 en: Julio 16, 2008, 11:03:25 »

Llevas razón, es justo lo que te está pasando, miraté cosas acerca del classpath, a mi me pasó algo parecido con el classpath, hasta que no lo comprendí un poco no conseguia hacer esas cosas.

import java.sql.*;

En línea
tecnitek
Newbie
*
Mensajes: 15


Ver Perfil
« Respuesta #10 en: Julio 16, 2008, 11:17:25 »

Gracias, de hecho el tutorial que he seguido para intentar entenderlo es el que hay en la propia página, pero no me acaba de cuadrar. Lo que he sacado en claro es que hay que vincular el .jar al CLASSPATH, lo que he utilizado para hacerlo ha sido lo siguiente:

CLASSPATH=<path dónde esta mi "mysql-connector-java-5.0.8-bin.jar">; export CLASSPATH

Introduciéndolo en la línia de comandos del terminal a pelo.

Seguiré investigando a ver si descubro cómo hacerlo, pero por favor cualquier directriz será muy bienvenida, muchas gracias!
En línea
hipoter
Jr. Member
**
Mensajes: 56


hipoter@hotmail.com
Ver Perfil Email
« Respuesta #11 en: Julio 16, 2008, 12:13:59 »

En /etc/profile
set CLASSPATH=CLASSPATH:/.../los archivos *.jar, etc.
luego escribes
export CLASSPATH
actualizas las variables de entorno con
source /etc/profile
En línea
tecnitek
Newbie
*
Mensajes: 15


Ver Perfil
« Respuesta #12 en: Julio 16, 2008, 12:46:17 »

En /etc/profile
set CLASSPATH=CLASSPATH:/.../los archivos *.jar, etc.
luego escribes
export CLASSPATH
actualizas las variables de entorno con
source /etc/profile

Pues copio lo que he hecho y luego explico:

pep@pep-laptop:~/Escritorio$ cd /etc/profile
bash: cd: /etc/profile: No es un directorio
pep@pep-laptop:~/Escritorio$ cd /etc/profile.d
pep@pep-laptop:/etc/profile.d$ set CLASSPATH=CLASSPATH:/home/pep/Escritorio/mysql-connector-java-5.0.8/mysql-connector-java-5.0.8-bin.jar
pep@pep-laptop:/etc/profile.d$ export CLASSPATH
pep@pep-laptop:/etc/profile.d$ cd
pep@pep-laptop:~$ source /etc/profile.d
bash: source: /etc/profile.d: es un directorio
pep@pep-laptop:~$ :S    :S     :S      :S

Inicialmente quiero entrar en /etc/profile , pero descubro que no se trata de un directorio y el único "directorio" con nombre parecido es profile.d (lo comprobé haciendo un ls).

Luego sigo las instrucciones hasta que debo hacer lo que correspondería al source /etc/profile  (lo pruebo con el directorio donde ejecuté la instrucción set CLASSPATH... y me da la noticia que podéis ver). Probándolo con source /etc/profile, la instrucción no da problemas pero el programa me sigue dando exactamente el mismo error.

Sigo buscando, a ver si descubrimos... decenas de gracias!
En línea
hipoter
Jr. Member
**
Mensajes: 56


hipoter@hotmail.com
Ver Perfil Email
« Respuesta #13 en: Julio 16, 2008, 01:57:29 »

Mas simple:

Código:
set CLASSPATH=CLASSPATH:/home/pep/Escritorio/mysql-connector-java-5.0.8/mysql-connector-java-5.0.8-bin.jar
export CLASSPATH

Haz eso en una consola, el tema del profile era para que no lo tengas que hacer cada vez que necesites cargar una aplicación java, para que te carge en el arranque del sistema.

Despues de hacer esas dos cosas el set y el export, ejecuta tu aplicación a ver que te dice.
En línea
chuidiang
Administrator
Hero Member
*****
Mensajes: 1985



Ver Perfil WWW Email
« Respuesta #14 en: Julio 16, 2008, 06:44:42 »

Hola:

Una vez puesto el classpath, ¿cómo arrancas el programa?

Se bueno.
En línea

Páginas: [1] 2 Enviar tema Imprimir 
« anterior próximo »
Ir a:  


Ingresar con nombre de usuario, contraseña y duración de la sesión

Powered by MySQL Powered by PHP Powered by SMF 1.1.5 | SMF © 2006-2007, Simple Machines LLC XHTML 1.0 válido! CSS válido!