PDA

Ver la versión completa : Ayuda!!



luis9rs
10-12-2009, 13:16
No consigo conectar un programa sencillo en java con mi base de datos.Tengo el siguiente archivo de propiedades:
hibernate.connection.driver_class = org.gjt.mm.mysql.Driver
hibernate.connection.url = jdbc:mysql://localhost:3306/prueba
hibernate.connection.username = luis
hibernate.connection.password = 1234


Mi base de datos es mysql y le he dado permisos al usuario luis para esa contraseña mediante el GRANT.

Uso el IDE Eclipse Europa y me da el siguiente error:

13:04:18,551 INFO Environment:479 - Hibernate 3.1
13:04:18,556 INFO Environment:494 - loaded properties from resource hibernate.properties: {hibernate.connection.username=luis, hibernate.connection.password=****, hibernate.cglib.use_reflection_optimizer=true, hibernate.connection.url=jdbc:mysql://localhost:3306/prueba, hibernate.connection.driver_class=org.gjt.mm.mysql .Driver}
13:04:18,556 INFO Environment:525 - using CGLIB reflection optimizer
13:04:18,559 INFO Environment:555 - using JDK 1.4 java.sql.Timestamp handling
13:04:18,604 INFO Configuration:496 - Reading mappings from resource: User.hbm.xml
13:04:19,522 INFO HbmBinder:265 - Mapping class: User -> users
caca
13:04:19,532 INFO Configuration:1022 - processing extends queue
13:04:19,533 INFO Configuration:1026 - processing collection mappings
13:04:19,533 INFO Configuration:1035 - processing association property references
13:04:19,533 INFO Configuration:1057 - processing foreign key constraints
13:04:19,580 INFO DriverManagerConnectionProvider:41 - Using Hibernate built-in connection pool (not for production use!)
13:04:19,581 INFO DriverManagerConnectionProvider:42 - Hibernate connection pool size: 20
13:04:19,581 INFO DriverManagerConnectionProvider:45 - autocommit mode: false
13:04:19,586 INFO DriverManagerConnectionProvider:80 - using driver: org.gjt.mm.mysql.Driver at URL: jdbc:mysql://localhost:3306/prueba
13:04:19,586 INFO DriverManagerConnectionProvider:86 - connection properties: {user=luis, password=****}
13:04:19,604 WARN SettingsFactory:103 - Could not obtain connection metadata
java.sql.SQLException: Communication failure during handshake. Is there a server running on localhost:3306?
at com.mysql.jdbc.MysqlIO.init(Unknown Source)
at com.mysql.jdbc.Connection.connectionInit(Unknown Source)
at com.mysql.jdbc.jdbc2.Connection.connectionInit(Unk nown Source)
at com.mysql.jdbc.Driver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at org.hibernate.connection.DriverManagerConnectionPr ovider.getConnection(DriverManagerConnectionProvid er.java:110)
at org.hibernate.cfg.SettingsFactory.buildSettings(Se ttingsFactory.java:72)
at org.hibernate.cfg.Configuration.buildSettings(Conf iguration.java:1859)
at org.hibernate.cfg.Configuration.buildSessionFactor y(Configuration.java:1152)
at principal.main(principal.java:24)
Exception in thread "main" org.hibernate.HibernateException: Hibernate Dialect must be explicitly set
at org.hibernate.dialect.DialectFactory.determineDial ect(DialectFactory.java:57)
at org.hibernate.dialect.DialectFactory.buildDialect( DialectFactory.java:39)
at org.hibernate.cfg.SettingsFactory.determineDialect (SettingsFactory.java:378)
at org.hibernate.cfg.SettingsFactory.buildSettings(Se ttingsFactory.java:110)
at org.hibernate.cfg.Configuration.buildSettings(Conf iguration.java:1859)
at org.hibernate.cfg.Configuration.buildSessionFactor y(Configuration.java:1152)
at principal.main(principal.java:24).

No consigo dar con la fuente del error. Alguien puede ayudarme???
Gracias por anticipado

j8k6f4v9j
10-12-2009, 13:59
No consigo dar con la fuente del error. Alguien puede ayudarme???


El error es éste:

java.sql.SQLException: Communication failure during handshake.
Is there a server running on localhost:3306?

Comprueba que efectivamente se puede acceder al servidor por el puerto 3306. Si se trata de una máquina con linux, puedes hacerlo con:


sudo netstat -atpn | grep 3306

En caso de estar ejecutándose, mira las reglas de iptables con

iptables -L -n
para comprobar que no hay ninguna regla bloqueando el acceso al servicio.

Si no es un Linux, tienes que comprobar las mismas cosas pero con las herramientas que corresponda.


Salu2



http://img359.imageshack.us/img359/6631/celliigy4.pngKeep on Rollin' :mad:

luis9rs
10-12-2009, 14:35
Muchas gracias. Es windows, he comprobado las conexiones y puertos de escucha (netstat -a) y efectivamente si estaba escuchando por ese puerto pero no en localhost sino en el 0.0.0.0..He cambiado una linea del properties:
hibernate.connection.url = jdbc:mysql://0.0.0.0:3306/prueba
y ahora me da el siguiente error:
java.sql.SQLException: Server configuration denies access to data source.

Se te ocurre q puede estar ocurriendo para q deniegue el acceso a la base de datos??
Saludos, gracias

j8k6f4v9j
10-12-2009, 14:49
Puede ser por varios motivos:
Las primeras entradas devueltas por la búsqueda probablemente definan lo que te está ocurriendo ahora:

http://www.google.es/search?client=opera&rls=es-ES&q=%22java.sql.SQLException:+Server+configuration+d enies+access+to+data+source%22&sourceid=opera&ie=utf-8&oe=utf-8


Salu2



http://img359.imageshack.us/img359/6631/celliigy4.pngKeep on Rollin' :mad:

luis9rs
13-12-2009, 14:00
Ya he conseguido solucionar el problema. Era por culpa del conector mysql q estaba usando, q no era la version correcta. Muchas gracias por la ayuda

j8k6f4v9j
13-12-2009, 15:34
Gracias a ti por poner el resultado. :)


Salu2



http://img359.imageshack.us/img359/6631/celliigy4.pngKeep on Rollin' :mad: