• Jueves 14 de Noviembre de 2024, 08:07

Autor Tema:  Bbdd Y Jdbc  (Leído 1272 veces)

5erg10

  • Miembro activo
  • **
  • Mensajes: 42
    • Ver Perfil
Bbdd Y Jdbc
« en: Lunes 2 de Enero de 2006, 21:30 »
0
Un saludo a tod@s.

Estoy haciendo una aplicación que consiste en un foro utilizando Tomcat+Struts+Mysql. Pues bueno, tengo una Base de datos llamada DBForo que contiene una tabla Usuarios.

Normalmente para acceder a esta BBDD desde un terminal entro como "root" con la contraseña "root", es decir:

$ mysql -p DBForo -u root -p
Enter Password: root

Y no tengo ningun problema.

El problema viene al intentar hacerlo desde mi aplicación. En el código tengo lo siguiente:
Código: Text
  1.  
  2. try
  3. {
  4. Class.forName("com.mysql.jdbc.Driver");
  5. con = DriverManager.getConnection("jdbc:mysql://localhost/DBForo", "root", "root");
  6. }
  7. catch (SQLException except)
  8. {
  9. //...
  10. }
  11. catch (ClassNotFoundException e)
  12. {
  13. //...
  14. }
  15.  
  16.  
El driver lo tengo instalado y lo carga bien, ya que además he utilizado el programa JDBCTest y la instrucción Class.forName("com.mysql.jdbc.Driver"); no da errores. El problema viene en la instrucción con = DriverManager.getConnection("jdbc:mysql://localhost/DBForo", "root", "root"); que creo que es la que tira la excepción. Con el JDBCTest intentando acceder a la BBDD test que trae MYSQL también me daba errores, y según los tutoriales no tendría por qué darlos.

El servidor MYSQL también está arrancado, ya que lo instalé con APT-GET INSTALL.

También he pensado que igual al tener que crear un usuario para instalar MYSQL (le he puesto de nombre y clave 'mysql') puede que haya que usarlo aquí, algo parecido a:
Código: Text
  1.  
  2. con = DriverManager.getConnection("jdbc:mysql://localhost/DBForo", "mysql", "mysql");
  3.  
  4.  
Pero no creo que sea así, ya que al intentar acceder con esos datos por consola ni siquiera me deja entrar.

A ver si alguien puede guiarme con este problema, que me ha hecho perder ya un par de tardes y no encuentro el error por más páginas que he consultado
Welcome to the Jungle

5erg10

  • Miembro activo
  • **
  • Mensajes: 42
    • Ver Perfil
Re: Bbdd Y Jdbc
« Respuesta #1 en: Martes 3 de Enero de 2006, 16:53 »
0
Bueno, parece que por fin logré solucionar el problema. Por si a alguien le sirve de ayuda, diré como lo hice, pero es más bien problema de configuración de MYSQL.

La cosa es que el servidor MYSQL no escuchaba por el puerto por defecto, y de ahí venían los problemas.

Primero fui al archivo /etc/mysql/my.cnf y comenté una linea que pone skip-networking para que el servidor escuche por el puerto 3306, cosa que antes según parece no hacía.

Después de solucionar este problema, al intentar conectarme a la BBDD me salía el siguiente mensaje:

javax.servlet.ServletException: Data source rejected establishment of connection,
message from server: "Host 'localhost.localdomain' is not allowed to connect to this MySQL server"

Que viene a decir que mi máquina no tiene permisos para conectarse al servidor MYSQL. Para solucionarlo, lo que hice fue meterme en la BBDD mysql donde vienen los permisos y todo eso, y poner:

GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON DBForo.* TO root@localhost.localdomain IDENTIFIED BY 'root';

Para que me dejara entrar con los datos de antes. Ahora el programa JDBCTest se conecta sin problemas, esperemos que mi aplicación también. Un saludo a todos y gracias por vuestra ayuda.
Welcome to the Jungle