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

Cadena de conexión a mi MySqlLocal en Servidor

Estas en el tema de Cadena de conexión a mi MySqlLocal en Servidor en el foro de Java en Foros del Web. Buenos días. Tras muchos años con SlqServer, estoy comenzando a trabajar con MySql y en este momento de dudas y prblemas, no consigo conectar con ...
  #1 (permalink)  
Antiguo 25/02/2015, 06:31
 
Fecha de Ingreso: junio-2007
Mensajes: 327
Antigüedad: 16 años, 10 meses
Puntos: 0
Pregunta Cadena de conexión a mi MySqlLocal en Servidor

Buenos días.
Tras muchos años con SlqServer, estoy comenzando a trabajar con MySql y en este momento de dudas y prblemas, no consigo conectar con mi Base de datos, y creo que es un problema de la cadena de conexión, a ver si me pueden ayudar.

Lo que utiliza desde mi aplicación Java es la siguiente cadena de conexión:

jdbc:mysql://[HOST]:3306/[NOMBRE BASE DE DATOS]?


Especificando que el MySql está alojado en un servidor Linux y varios dominios y que todo va a través del cpanel, resulta que en remoto puedo conectarperfectamete con la siguiente cadena de coenxión:

jdbc:mysql://Midominio.es:3306/[NOMBRE BASE DE DATOS]?

Sin embargo, si subo la aplicación al servidor, no conecta. En tal caso lo que utilizo es:

jdbc:mysql://localhost:3306/[NOMBRE BASE DE DATOS]?

Siendo así, creo que el problema está en que eso del "localhost" no se lo traga teniendo en cuenta que la base de datos atacada pertenece a un subDomino. Llegado a este punto la pregunta está clara. ¿Cuál sería la cadena de conexión? Para quien tenga experencia, supongo que esto es muy sencillo, pero para mi no lo es. Estoy acostumbrado a SqlServer y allí solo hay que especificarle al Instancia y listo.


Gracias, un saludo.
  #2 (permalink)  
Antiguo 25/02/2015, 07:04
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Cadena de conexión a mi MySqlLocal en Servidor

Conexiones desde un lenguaje a MySQL no son temas del Foro de MySQL. Es un problema a resolver en programación.
MySQL "escucha" ese puerto, pero si la cadena de conexión no es correcta, MYSQL no se entera jamás. Es otra capa de software completamente independiente de MYSQL y es allí donde debes resolverlo.

Muevo tu posts al foro de Java, donde es más probable que te puedan ayudar.

Adicionalmente hay un viejo recurso en la Web que puedes usar: http://www.connectionstrings.com/

Además, siempre tienes la posibilidad de hacer lo que todos: Consultar primero el manual de referencia.
http://dev.mysql.com/doc/connector-j...-drivermanager

Movido a Java.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 25/02/2015, 08:56
Avatar de Profesor_Falken  
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.323
Antigüedad: 9 años, 8 meses
Puntos: 182
Respuesta: Cadena de conexión a mi MySqlLocal en Servidor

Buenas,

Estas utilizando una cadena de conexion de MySQL, no de SQLServer. Son dos productos diferentes.

Quizas esto te interese:
https://msdn.microsoft.com/es-es/lib...ql.110%29.aspx

Un saludo
__________________
If to err is human, then programmers are the most human of us
  #4 (permalink)  
Antiguo 25/02/2015, 09:00
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años
Puntos: 306
Respuesta: Cadena de conexión a mi MySqlLocal en Servidor

Cita:
Iniciado por Javichechu Ver Mensaje
Siendo así, creo que el problema está en que eso del "localhost" no se lo traga teniendo en cuenta que la base de datos atacada pertenece a un subDomino. Llegado a este punto la pregunta está clara. ¿Cuál sería la cadena de conexión? Para quien tenga experencia, supongo que esto es muy sencillo, pero para mi no lo es. Estoy acostumbrado a SqlServer y allí solo hay que especificarle al Instancia y listo.


Gracias, un saludo.
No entiendo muy bien a qué te refieres con lo del subdominio, pero la forma de funcionar con las cadenas de conexión es clara.

Localhost es el equivalente a 127.0.0.1 que apunta a la propia máquina, creo que todos los sitemas lo reconocen así por defecto, aunque esta conducta se puede cambiar tocando el fichero de hosts.

Así que para llamar a una base de datos en la propia máquina usar localhost o 127.0.0.1, si estás dentro de la misma intranet la ip del servidor, si está en una red exterior su IP pública o el dominio.
__________________
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 25/02/2015, 09:25
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 5 meses
Puntos: 2658
Respuesta: Cadena de conexión a mi MySqlLocal en Servidor

Cita:
Iniciado por Profesor_Falken Ver Mensaje
Buenas,

Estas utilizando una cadena de conexion de MySQL, no de SQLServer. Son dos productos diferentes.

Quizas esto te interese:
https://msdn.microsoft.com/es-es/lib...ql.110%29.aspx

Un saludo
Leer con cuidado el post...
Cita:
Tras muchos años con SlqServer, estoy comenzando a trabajar con MySql y en este momento de dudas y prblemas, no consigo conectar con mi Base de datos, y creo que es un problema de la cadena de conexión, a ver si me pueden ayudar.
Está, precisamente, tratando de conectarse a MySQL...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #6 (permalink)  
Antiguo 25/02/2015, 09:51
 
Fecha de Ingreso: junio-2007
Mensajes: 327
Antigüedad: 16 años, 10 meses
Puntos: 0
Respuesta: Cadena de conexión a mi MySqlLocal en Servidor

Cita:
Iniciado por Xerelo Ver Mensaje
No entiendo muy bien a qué te refieres con lo del subdominio, pero la forma de funcionar con las cadenas de conexión es clara.

Localhost es el equivalente a 127.0.0.1 que apunta a la propia máquina, creo que todos los sitemas lo reconocen así por defecto, aunque esta conducta se puede cambiar tocando el fichero de hosts.

Así que para llamar a una base de datos en la propia máquina usar localhost o 127.0.0.1, si estás dentro de la misma intranet la ip del servidor, si está en una red exterior su IP pública o el dominio.

Lo que quiero decir, es que en el hosting donde trabajamos, a través de Cpanel, tenemos varios dominios, uno que está asociado a la ip de la máquina, y otro, que sirve como de desarrollo. Cada uno tiene un Joomla instalado y cada uno tiene sus propia base de datos, ya que la base de datos son diferentes igual que lo son los joomlas intalados.

Cuando me conecto desde remoto, pongo como nombre de host el nombre del subDominio y entra de puta madre. Pero si la cadena de conexión la ejecuto desde un proyecto web java subido al propio Subdominio, resulta que no funciona con el nombre del subdominio, ya que trata de salir fuera para volver a entrar.

Es por eso que uso LocalHost, pero esto no funciona y me da un error de autenticación. Yo entiendo que esto es porque el LoCalHost apunta como bien dices, a la IP de la máquina, al raíz, mientras que esto es una base de datos fuera del dominio principal asociado a la ip de la máquina. No se si me explico.
Lo que digo es que con LocalHost en teoría, debería conectarse a la Base de datos del Raíz, que será producción mientras que ahora, lo que estoy tratando de hacer es conectarme a la base de datos que hay en el subdominio, que viene a ser la de desarrollo.

No se si te he aclarado algo o te he liado más.

Gracias.

Última edición por Javichechu; 25/02/2015 a las 09:56
  #7 (permalink)  
Antiguo 25/02/2015, 09:58
Avatar de Profesor_Falken  
Fecha de Ingreso: agosto-2014
Ubicación: Mountain View
Mensajes: 1.323
Antigüedad: 9 años, 8 meses
Puntos: 182
Respuesta: Cadena de conexión a mi MySqlLocal en Servidor

Buenas,

Ok, he reeleido. De cualquier forma parece que soy el unico que no ha leido bien el mensaje ya que esta claro que poco tiene que ver con Java.

El problema es que esta intentando conectar en local cuando la base de datos esta en otra maquina.

Como bien indica Xerelo, debes informarte de cual es la IP/nombre host de la maquina en la que esta alojada tu base de datos y ponerla en la cadena de conexion:
jdbc:mysql://ipbasedatos:3306/[NOMBRE BASE DE DATOS]?


Un saludo
__________________
If to err is human, then programmers are the most human of us
  #8 (permalink)  
Antiguo 25/02/2015, 10:04
 
Fecha de Ingreso: junio-2007
Mensajes: 327
Antigüedad: 16 años, 10 meses
Puntos: 0
Respuesta: Cadena de conexión a mi MySqlLocal en Servidor

Madre de dios, que mal debo explicarme.
No se si tiene que ver o no con Java, yo abrí el tema en bases de datos y me lo han movido aquí. Lo que sí es seguro es que parte de relación sí tiene.

Se ejecuta en remoto?? NO. Desde mi PC, del que desarrollo, sí se conecta en remoto, y eso como digo, funciona. Pero al final, lo que necesito que funcione es desde local. Es decir, hago una aplicación Web JAVA que subo al servidor remoto, la alojo allí, y esa aplicación hace consultas a la Base de Datos MySql. Para conectarme utilizo la cadena ya varias veces comentadas, y entonces me encuentor que me da una validación erronea, algo que en remoto no ocurre. Se ve que lo de "localhost" no se lo está tragando.

Al final lo que necesito es poder subir mi aplicación Java a ese servidor y que conecte con la base de datos para lo cual necesito la cadena de conexión que es lo que no consigo que funcione y motivo de este hilo.

Espero haber sido capaz de explicarto ya correctamente. Gracias ;)
  #9 (permalink)  
Antiguo 25/02/2015, 14:56
Avatar de Xerelo  
Fecha de Ingreso: mayo-2009
Mensajes: 2.175
Antigüedad: 15 años
Puntos: 306
Respuesta: Cadena de conexión a mi MySqlLocal en Servidor

Cita:
Iniciado por Javichechu Ver Mensaje
Madre de dios, que mal debo explicarme.
No se si tiene que ver o no con Java, yo abrí el tema en bases de datos y me lo han movido aquí. Lo que sí es seguro es que parte de relación sí tiene.

Se ejecuta en remoto?? NO. Desde mi PC, del que desarrollo, sí se conecta en remoto, y eso como digo, funciona. Pero al final, lo que necesito que funcione es desde local. Es decir, hago una aplicación Web JAVA que subo al servidor remoto, la alojo allí, y esa aplicación hace consultas a la Base de Datos MySql. Para conectarme utilizo la cadena ya varias veces comentadas, y entonces me encuentor que me da una validación erronea, algo que en remoto no ocurre. Se ve que lo de "localhost" no se lo está tragando.

Al final lo que necesito es poder subir mi aplicación Java a ese servidor y que conecte con la base de datos para lo cual necesito la cadena de conexión que es lo que no consigo que funcione y motivo de este hilo.

Espero haber sido capaz de explicarto ya correctamente. Gracias ;)
Siguiente punto, ¿tu aplicación java es una aplicación web o de escritorio?

¿Tienes un hosting que acepta PHP y java? Raro.

De todas formas, cuando dices que tienes dos bases de datos ¿son dos esquemas?

Ya que tienes dos joomla, que supongo que funcionan y cada uno apunta a su esquema, ¿por qué no miras sus archivos de configuración? Así sabrás seguro el puerto, esquema, usuario y password que necesitas para acceder a los dos entornos.

Si con esto no te sirve, habla con tu hosting, ellos sabrán como conectarte o si hay algo capado.
__________________
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.
  #10 (permalink)  
Antiguo 26/02/2015, 02:20
 
Fecha de Ingreso: junio-2007
Mensajes: 327
Antigüedad: 16 años, 10 meses
Puntos: 0
Respuesta: Cadena de conexión a mi MySqlLocal en Servidor

Gracias por tu contestación Xerelo. De primeras, y perdona por mi ignorancia ya que para mi todo esto es nuevo a pesar de los muchos años de experencia con otras plataformas, explícame si puedes donde dónde puedo mirar esos ficheros de configuración para ver el esquema y el puerto... lo otro lo tengo seguro.

Por otro lado os comento algo que averigué ayer. El error que me da es esl siguiente (Lo genero yo para que pinte la cadena y lo que se responde en la excepción):

Cadena: jdbc:mysql://localhost/zdm01 --> Error Sql:Access denied for user 'UserRoot'@'127.2.2.1' (using password: YES)


Es dirección IP (Alteré un par de dígitos por si es algo crítico) que pinta el error, se supone que es como la del LocalHost. Si yo me voy a Cpanel, y en la parte de acceso remoto a las bases de datos, habilito esa dirección IP, resulta que conecto bien. Pero tiene que estar habilitada, algo que no me parece muy seguro.... Lo que parece dar a entender, eso sí, es que por lo que sea, lo de localhost no se lo traga y al ponerle localhost trata de entrar como esa ip a la base de datos y si no le has habilitado la ip, pues te lo tira para atrás. ¿Por qué? Lo desconozco.

¿Alguna idea?

Etiquetas: bases-de-datos-general, bd, cadena, mysql, server, servidor, sql
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 21:33.