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

[SOLUCIONADO] Conectar a base de datos externa

Estas en el tema de Conectar a base de datos externa en el foro de Java en Foros del Web. Buenas hasta ahora me he conectado a bases de datos mysql locales usando una sintasis como esta: Código: Connection conexion; Conexion() throws ClassNotFoundException,SQLException { //leavantamos ...
  #1 (permalink)  
Antiguo 13/05/2014, 12:35
 
Fecha de Ingreso: noviembre-2012
Mensajes: 53
Antigüedad: 11 años, 5 meses
Puntos: 1
Exclamación Conectar a base de datos externa

Buenas hasta ahora me he conectado a bases de datos mysql locales usando una sintasis como esta:
Código:
        Connection conexion;
    
    Conexion() throws ClassNotFoundException,SQLException
    {
        
        //leavantamos el driver
        Class.forName("com.mysql.jdbc.Driver");
        //creamos la conexion
        conexion=DriverManager.getConnection
       ("root","password","jdbc:mysql://localhost:3306/","cuentas");
    }
Pero ahora quiero conectarme a una base de datos externa
es decir mi ip es 192.168.1.2 y quiero conectar con una base de datos 192.168.1.200 usando java

facil pense pero me equivoque.
Lo lógico sería cambiar localhost por la ip
Código:
        conexion=DriverManager.getConnection
       ("root","password","jdbc:mysql://192.168.1.200:3306/","cuentas");
y se acabó.... pues no da este error
Código:
java.sql.SQLException: Access denied for user 'root'@'192.168.1.204' (using password: YES)
mismo error que daría si intentase entrar así via comando
Código:
mysql -h 192.168.1.200 -u root -p
por que hay que usar este comando
Código:
mysql --server="192.168.1.200" -u root -p
MI servidor SQL admite accesos desde PCs remotos

¿Entonces qué tendría que cambiar para que funcionase indicando la ip del pc destino?
Gracias de antemano un saludo
  #2 (permalink)  
Antiguo 14/05/2014, 01:04
Avatar de rgf1987  
Fecha de Ingreso: diciembre-2012
Ubicación: Asturias
Mensajes: 269
Antigüedad: 11 años, 3 meses
Puntos: 22
Respuesta: Conectar a base de datos externa

Muy buenas, mira a ver si esto te lo soluciona

http://www.forosdelweb.com/f45/conex...n-java-650574/

Un saludo.
  #3 (permalink)  
Antiguo 14/05/2014, 07:07
 
Fecha de Ingreso: noviembre-2012
Mensajes: 53
Antigüedad: 11 años, 5 meses
Puntos: 1
Respuesta: Conectar a base de datos externa

pues no me ayuda he hecho cien mil cosas y no me conecta desde java pero gracias
un saludo
  #4 (permalink)  
Antiguo 14/05/2014, 07:16
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 14 años, 11 meses
Puntos: 306
Respuesta: Conectar a base de datos externa

Comprueba que en la base de datos externa ese usuario tiene los mismos permisos y contraseña.

Tienes que comprobar también que no existe un firewall en la red que impida que accedas al otro servidor.

Si tampoco va prueba a desinstalar y volver a instalar la base de datos.

http://howtodoinjava.com/2012/11/15/...-mysql-server/

Cita:
Solution is to remove data folder from following location.

C:Documents and SettingsAll UsersApplication DataMySQL [refer here]

This directory contains temp files and old DB data including your last login credentials used in previous installation. So, to solve this issue:

Uninstall MYSQL server
Remove everything from above folder
Install a fresh MySQL server
__________________
Cada vez que solucionas los problemas de alguien que no se esfuerza, piensa en que el día de mañana puede llegar a ser tu compañero de trabajo, o peor, tu jefe.
  #5 (permalink)  
Antiguo 14/05/2014, 12:24
Avatar de chuidiang
Colaborador
 
Fecha de Ingreso: octubre-2004
Mensajes: 3.774
Antigüedad: 19 años, 6 meses
Puntos: 454
Respuesta: Conectar a base de datos externa

Hola:

Este error

java.sql.SQLException: Access denied for user 'root'@'192.168.1.204' (using password: YES)

indica que sí tienes conexión con la base de datos y que sí intenta establecerse, pero el acceso no está permitido para ese usuario. Tienes que dar permisos de acceso al usuario root desde la ip 192.168.1.204 y asegurarte que la password es la adecuada.

Este comando sql te puede indicar qué permisos tiene actualmente

select host, user, password from mysql.user;

Si te sale 'root' en 'localhost' quiere decir que el root solo puede conectarse desde localhost, cosa bastante habitual.

Se bueno.
__________________
Apuntes Java
Wiki de Programación

Última edición por chuidiang; 14/05/2014 a las 12:34
  #6 (permalink)  
Antiguo 14/05/2014, 16:11
Avatar de dackiller  
Fecha de Ingreso: septiembre-2003
Ubicación: The Matrix
Mensajes: 341
Antigüedad: 20 años, 7 meses
Puntos: 4
Respuesta: Conectar a base de datos externa

Concuerdo con chuidiang, cuando se crea el usuario en la base de datos tienes que especificar que este usuario se va conectar desde una ip externa a la maquina local (localhost)

Saludos.
__________________
--
NOTA: Si haz conseguido la solución a tu problema, por favor edita el titulo del tema colocando el prefijo [SOLUCIONADO], para que otros usuarios puedan encontrar soluciones más rápido.
  #7 (permalink)  
Antiguo 15/05/2014, 19:44
 
Fecha de Ingreso: octubre-2013
Mensajes: 34
Antigüedad: 10 años, 5 meses
Puntos: 0
Respuesta: Conectar a base de datos externa

el problema no es el lenguaje de programación Java
es tus permisos en la base de datos Mysql
cuando se hizo la instalación no se le dio el parámetro que aceptara conexiones externas
lo puedes solucionar de la siguiente forma

Entrando a la consola de Administracion de tu Mysql Digita lo siguiente

GRANT ALL PRIVILEGES ON *.* TO 'usuarionuevoBD'@'%'
-> IDENTIFIED BY 'some_pass' WITH GRANT OPTION;

Espero te sirva
Cordial saludo
  #8 (permalink)  
Antiguo 17/05/2014, 16:26
 
Fecha de Ingreso: noviembre-2012
Mensajes: 53
Antigüedad: 11 años, 5 meses
Puntos: 1
Respuesta: Conectar a base de datos externa

Vale ya esta resuelto.
Teniais razón el problema era de la base de datos.
se me olvidaba poner en el permiso identified by '' por que luego en java
si que ponia una contraseña.

Gracias a todos un saludo

Etiquetas: connection, mysql
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 01:29.