Java - Ayuda para conectar base de datos en red con hibernate!

   
Vista:

Ayuda para conectar base de datos en red con hibernate!

Publicado por Leonardo (16 intervenciones) el 29/11/2017 19:17:29
Hola que tal!!

Hice un programa en java, usando hibernate, y tengo instalado el xampp v3.2.2, Con el apache y mysql que vienen dentro de el.

Usando una sola maquina, con la conexión con localhost o 127.0.0.1 funciona perfecto (a continuacion muestro el archivo hibernate.cfg), pero tengo 2 maquinas que funcionan en red, y quiero poner el programa en la otra maquina pero que lea la base de datos que esta alojada en la primera.

ya cree supuestamente los permisos para acceso al mysql remotamente, en la maquina que no esta la base puedo entrar al phpadmin de la otra poniendo : 192.168.0.10/phpmyadmin entra sin problemas.

Lo que no se como configurar el archivo de hibernate o hay que modificar algo del xampp o mysql. Para que me lea la base de datos el programa que esta en la otra maquina.

EL archivo de hibernate es:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration
        PUBLIC "-//Hibernate/Hibernate Configuration DTD//EN"
        "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
 
<hibernate-configuration>
    <session-factory>
 
        <property name="hibernate.connection.driver_class">
            org.gjt.mm.mysql.Driver
        </property>
        <property name="hibernate.connection.url">
            jdbc:mysql://127.0.0.1:3306/olmedos</property>
        <property name="hibernate.connection.username">root</property>
        <property name="hibernate.connection.password"></property>
 
        <property name="connection.pool_size">5</property>
 
        <property name="dialect">
            org.hibernate.dialect.MySQLDialect
        </property>
 
        <!-- Enable Hibernate's automatic session context management -->
        <property name="current_session_context_class">thread</property>
 
        <!-- Echo all executed SQL to stdout -->
        <property name="show_sql">true</property>
 
        <property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property>
 
        <!--  
       Aca vienen los mapping pero los saque para que no molesten
         -->
 
 
    </session-factory>
</hibernate-configuration>

Eh probado cambiar jdbc:mysql://127.0.0.1:3306/olmedos --> jdbc:mysql://192.168.0.10:3306/olmedos

pero me tira estos errores:

Exception in thread "main" java.lang.ExceptionInInitializerError

at ar.com.olmedos.util.HibernateUtil.<clinit>(HibernateUtil.java:25)
at ar.com.olmedos.dao.AbstractDao.getByFieldAndLe(AbstractDao.java:389)
at ar.com.olmedos.controlador.ChequeControlador.actualizarEstadoCheque(ChequeControlador.java:109)
at ar.com.olmedos.controlador.VPrincipalControlador.iniciarPrincipal(VPrincipalControlador.java:33)
at ar.com.olmedos.vista.Principal.<init>(Principal.java:66)
at ar.com.olmedos.main.Run.main(Run.java:16)

Caused by: org.hibernate.exception.JDBCConnectionException: Error calling Driver#connect


at org.hibernate.engine.jdbc.connections.internal.BasicConnectionCreator$1$1.convert(BasicConnectionCreator.java:122)
at org.hibernate.engine.jdbc.connections.internal.BasicConnectionCreator.convertSqlException(BasicConnectionCreator.java:140)
at org.hibernate.engine.jdbc.connections.internal.DriverConnectionCreator.makeConnection(DriverConnectionCreator.java:58)
at org.hibernate.engine.jdbc.connections.internal.BasicConnectionCreator.createConnection(BasicConnectionCreator.java:75)
at org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl.configure(DriverManagerConnectionProviderImpl.java:106)
at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:89)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:206)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:178)
at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.buildJdbcConnectionAccess(JdbcServicesImpl.java:260)
at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:94)
at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:89)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:206)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:178)
at org.hibernate.cfg.Configuration.buildTypeRegistrations(Configuration.java:1885)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1843)
at ar.com.olmedos.util.HibernateUtil.<clinit>(HibernateUtil.java:21)
... 5 more


Caused by: java.sql.SQLException: null, message from server: "Host '192.168.0.105' is not allowed to connect to this MariaDB server"


at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1074)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:988)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:974)
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1110)
at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2465)
at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2498)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2283)
at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:822)
at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:404)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:317)
at org.hibernate.engine.jdbc.connections.internal.DriverConnectionCreator.makeConnection(DriverConnectionCreator.java:55)
... 18 more


Por favor alguien me podría ayudar!!
Abrazo grande!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Ayuda para conectar base de datos en red con hibernate!

Publicado por Tom (1145 intervenciones) el 29/11/2017 22:27:36
No sé nada de esto pero este mensaje:
"Host '192.168.0.105' is not allowed to connect to this MariaDB server"
parece dar a entender que en la máquina servidor debes configurar correctamente el servidor de BD.

https://mariadb.com/kb/en/library/configuring-mariadb-for-remote-client-access/
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

Ayuda para conectar base de datos en red con hibernate!

Publicado por Leonardo (16 intervenciones) el 30/11/2017 14:30:50
Entro a la pagina que me decís pero no puedo configurarlo bien, el problema sera que tengo mySql normal y tendría que tener mySql Server? no encuentro nada que me ayude a solucionar el problema. Por favor help, help....

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar