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

Applets acceso a bases de datos

Estas en el tema de Applets acceso a bases de datos en el foro de Java en Foros del Web. Hola, tengo estos dos ficheros: public class conexion_lsg { Connection con=null; String Estring="yo que sé"; // Constructor public conexion_lsg() { try { Class.forName("com.mysql.jdbc.Driver"); Estring="Correcto acceso ...
  #1 (permalink)  
Antiguo 08/05/2012, 04:27
 
Fecha de Ingreso: junio-2007
Mensajes: 298
Antigüedad: 16 años, 10 meses
Puntos: 5
Applets acceso a bases de datos

Hola, tengo estos dos ficheros:

public class conexion_lsg {
Connection con=null;
String Estring="yo que sé";
// Constructor
public conexion_lsg() {
try {
Class.forName("com.mysql.jdbc.Driver");
Estring="Correcto acceso al Driver";
}
catch (ClassNotFoundException e) {
System.out.println("Error: No encuentra el Driver MySQL");
// e.printStackTrace();
Estring="Error: No encuentra el Driver MySQL";
}
try {
con=DriverManager.getConnection("jdbc:mysql://...","...","...");
Estring=Estring+" Correcto acceso a la BD";
}
catch (SQLException e) {
Estring=Estring+". Error al acceder a la BD";
}
} // Fin Constructor

public String get_estring() {
return(Estring);
}

public Connection getConexion() {
return(con);
}

}

Y por otra parte este otro fichero:

public class acceder extends JApplet implements ActionListener, KeyListener {
Connection cnn_aux;
public void init() {
JLabel etiq_aux=new JLabel();
etiq_aux.setBounds(10,190,500,50);
this.add(etiq_aux);
conexion_lsg obj_conexion=new conexion_lsg();
etiq_aux.setText("Estring vale:"+obj_conexion.get_estring());
}

Lógicamente necesita disponer de los drivers de MySQL para funcionar por lo que desde el Eclipse hago:

Apuntando con el botón derecho al proyecto -> Build Path -> Add External Archives -> El conector de MySQL en JAR

Lo ejecuto desde el Eclipse y perfecto, en la etiqueta se escribe: "Correcto acceso al Driver. Correcto acceso a la BD".

Ahora bien, quiero llamarlo desde un applets, por lo q me creo un mini ficherito HTML que llama a ese Applets y al ejecutarlo siempre en la etiqueta se escribe: "Error: No encuentra el Driver MySQL. Error al acceder a la BD"

Está claro que el error está que no exporto bien el fichero JAR al generar el fichero class resultante, porque desde el Eclipse funciona perfectamente, pero desde el HTML llamando al applets pues no.

¿Cuál es el proceso correcto para que en un class se almacene los ficheros java más los ficheros JAR que tenga?

Muchas gracias
  #2 (permalink)  
Antiguo 08/05/2012, 09:04
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Respuesta: Applets acceso a bases de datos

El tag applet de html admite un parámetro archive para indicar otros jars.

<applet code="...." archive="tu conector mysql.jar" ....

ese jar debe estar en el mismo directorio del html.

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #3 (permalink)  
Antiguo 08/05/2012, 13:11
 
Fecha de Ingreso: junio-2007
Mensajes: 298
Antigüedad: 16 años, 10 meses
Puntos: 5
Respuesta: Applets acceso a bases de datos

Nada. Desde el eclipse funciona perfectamente, pero en el applet no. Ni poniendo en el html lo de archive="conector.jar".

¿No existe alguna manera, mediante código java, para importar directamente los drivers de MySQL, algo así como, import mysql.drivers.odbc; ?

Porque es que ya no se me ocurren más maneras de hacerlo.

Gracias
  #4 (permalink)  
Antiguo 08/05/2012, 13:58
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Respuesta: Applets acceso a bases de datos

Pues lo del archive="conector.jar" es la forma de hacerlo, por supuesto, no es conector.jar, sino el nombre real del jar que tenga el conector de mysql. Si no te va, algo no estás haciendo bien.

Una vez que lo has hecho... ¿has comprobado si el error es el mismo o es otro?. Hay un segundo error que puede darte y es de permisos, posiblemente tengas que firmar el applet (dependiendo de dónde tengas la base de datos).

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #5 (permalink)  
Antiguo 09/05/2012, 02:40
 
Fecha de Ingreso: junio-2007
Mensajes: 298
Antigüedad: 16 años, 10 meses
Puntos: 5
Respuesta: Applets acceso a bases de datos

Sí, claro, no pongo conector.jar, pongo el nombre real:

<applet code="acceder.class" archive="mysql-connector-java-5.1.18-bin.jar" width=500 height=200>
</applet>

Y efectivamente al incluir lo de archive el error que me da es nuevo, es el siguiente:

Java Plugin 10.1.0.8
Usando versión de JRE 1.7.0_01-b08 Java HotSpot(TM) Client VM
Directorio raíz del usuario = C:\Documents and Settings\

¿Alguna idea de cómo solucionarlo? Gracias
  #6 (permalink)  
Antiguo 09/05/2012, 07:22
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Respuesta: Applets acceso a bases de datos

Bueno, lo que has puesto no es ningún error ¿no?

Se bueno.
__________________
Apuntes Java
Wiki de Programación
  #7 (permalink)  
Antiguo 09/05/2012, 10:15
 
Fecha de Ingreso: junio-2007
Mensajes: 298
Antigüedad: 16 años, 10 meses
Puntos: 5
Respuesta: Applets acceso a bases de datos

Sí, ya sé que eso no es un error de código. Por lo que veo es que versión de Java no está actualizada o algo así. Acabo de actualizar con la última versión y sigue dando el mismo error.

Vamos, que ando muy desorientado con este tema.
  #8 (permalink)  
Antiguo 09/05/2012, 10:36
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Respuesta: Applets acceso a bases de datos

¿qué error? no estás poniendo ningún error. ¿por qué dices que el problema es que la versión de java está desactualizada?. No veo nada que esté protestando por la versión de java. Es difícil ayudar si no sabemos siquiera cual es el problema.

Se bueno.
__________________
Apuntes Java
Wiki de Programación

Etiquetas: bases, jar, mysql, string
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 18:02.