Foros del Web

Foros del Web (http://www.forosdelweb.com/)
-   Java (http://www.forosdelweb.com/f45/)
-   -   Applet+JDBC (http://www.forosdelweb.com/f45/applet-jdbc-580293/)

masterice 26/04/2008 14:09

Applet+JDBC
 
Necesito de vuestra ayuda. Soy nuevo en java y tengo el siguiente problema.

Dispongo de una página web con acceso a una base de datos MySQL. He creado una tabla nueva en ella y mi intención es crear en Java un Applet que acceda a dicha tabla y realice operaciones de localizacion, insercción y borrado de registros.

El caso es que no consigo ni siquiera conectarme a la base de datos. El applet se ejecuta perfetamente mostrandome el JFrame con un boton para realizar la conexion pero cuando pulso en él para efectuarla me falla.

Las variables de la conexion son las siguientes:

static String login = "usuario";
static String password = "contraseña";
static String controlador = "com.mysql.jdbc.Driver";
static String url = "jdbc:mysql://localhost:3306/basededatos;

Y el codigo para conectar con la BDD el siguiente:

Cita:


Connection GLB_db = null;

try {

Class.forName(controlador).newInstance();
GLB_db = DriverManager.getConnection(url, login, password);

if (GLB_db != null) {

System.out.println("Conexión OK");
GLB_db.close(); // CIERRA LA CONEXION DE LA BDD
}

} catch (SQLException ex) {
JOptionPane.showMessageDialog(this, "ERROR SQLException. " + ex);
} catch (ClassNotFoundException ex) {

JOptionPane.showMessageDialog(this, "ERROR ClassNotFound. " + ex);
}


El enlace a la pantalla del error es la siguiente:

Cita:

http://img178.imageshack.us/img178/4395/errorjavayy3.jpg

Tengo añadida al proyecto la libreria mysql-connector-java-5.0.7-bin.jar.

Y para ejecutar el Applet pues he subido a una carpeta de la web:

Cita:

http://www.estaeslaweb/carpeta
El fichero .jar y .class correspondiente, asi como el html con la llamada al mismo.

Alguna idea del fallo? Gracias y un saludo

goncafa 28/04/2008 10:08

Re: Applet+JDBC
 
En realidad los Applet son un caso muy especial en Java, pues tienen muchas restricciones para poder hacerlos seguros. En el caso de el acceso a base de datos es bastante restrictivo, solo puede hacer conexiones a al servidor desde donde se ha cargado el servlet ademas de otro tipo de restricciones.

Yo haria una simple clase con un main donde llamara a la conexion que invocas desde tu Applet para ver como se comporta, si realiza la conexion correctamente tu problema son los permisos del Applet.

Saludos

masterice 29/04/2008 04:56

Re: Applet+JDBC
 
En realidad la conexion se efectúa al mismo servidor donde se está ejecutando el applet, por eso no consigo entender el problema ya qeu efectuando la misma usando una clase con main si va :'(

GreenEyed 29/04/2008 05:17

Re: Applet+JDBC
 
Ten en cuenta que si la conexion la haces desde el applet, para el "localhost" no es el servidor, es la misma maquina cliente donde se ejecuta el navegador.

Aparte de eso, parece que no esta bien configurada la BDD o la cadena de conexion. Como dice Goncafa, lo primero seria probar a conectarte como una aplicacion normal para comprobar que todo funciona, y luego pasar a ejecutar ese codigo como un applet.

S!

masterice 29/04/2008 07:04

Re: Applet+JDBC
 
Lo normal en los proveedores de servicios de alojamiento web es tener un servidor de base de datos en una maquina independiente de el de hosting .... no??, entonces si así fuese, por lo que me decís, el applet no va a funcionar ya que la cadena de conexión tendría que apuntar a otro servidor distinto!!! :'(:'(

goncafa 29/04/2008 08:22

Re: Applet+JDBC
 
Efectivamente, si el servidor de base de datos corre en uns erver distinto al donde esta almacenado el Applet no podras accederlo desde el.

GreenEyed 29/04/2008 09:02

Re: Applet+JDBC
 
A no ser que firmes el applet digitalmente. Otra opcion que se utiliza es hacer que el applet se comunique con un programa en el servidor, y que este sea el que comunique con la base de datos. Igualmente, comunicarse directamente desde un applet a una BDD en Internet no es una buena idea.

S!


La zona horaria es GMT -6. Ahora son las 09:21.

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