Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/359.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Hibernate与远程MySql服务器的连接_Java_Mysql_Hibernate - Fatal编程技术网

Java Hibernate与远程MySql服务器的连接

Java Hibernate与远程MySql服务器的连接,java,mysql,hibernate,Java,Mysql,Hibernate,我一直在尝试从LAN访问MySql服务器,它与“localhost”一起工作正常,但无法从Hibernate远程访问服务器 MySql querybrowser是一个能够访问远程服务器的浏览器,Ping工作正常,已经浏览了SO和internet以发现此错误,我每次都会发现: 通信链路错误 及 无法从服务器读取响应。预期读取4个字节,在连接意外丢失之前读取0个字节。 下面是Hibernate.cfg.xml <hibernate-configuration> <sessi

我一直在尝试从LAN访问MySql服务器,它与“localhost”一起工作正常,但无法从Hibernate远程访问服务器

MySql querybrowser是一个能够访问远程服务器的浏览器,Ping工作正常,已经浏览了SO和internet以发现此错误,我每次都会发现:

通信链路错误 及 无法从服务器读取响应。预期读取4个字节,在连接意外丢失之前读取0个字节。

下面是Hibernate.cfg.xml

<hibernate-configuration>
    <session-factory>
        <property name="connection.driver_class">
            com.mysql.jdbc.Driver
        </property>
        <property name="connection.url">
            jdbc:mysql://192.168.0.15:3306/emrp  
        </property>
        <property name="connection.username">username</property>
        <property name="connection.password">password</property>
        <property name="connection.pool_size">10</property>
        <property name="dialect">
            org.hibernate.dialect.MySQLDialect
        </property>
        <property name="current_session_context_class">thread</property>
        <property name="cache.provider_class">
            org.hibernate.cache.NoCacheProvider
        </property>
        <property name="show_sql">true</property>
        <property name="hbm2ddl.auto">update</property>
</hibernate-configuration>

com.mysql.jdbc.Driver
jdbc:mysql://192.168.0.15:3306/emrp  
用户名
密码
10
org.hibernate.dialogue.mysqldialogue
线
org.hibernate.cache.NoCacheProvider
真的
更新
连接超时、防火墙端口、权限授予,所有这些都已尝试过,但错误似乎出现了

这些是我们正在使用的工具和技术: 日食, 雄猫, 冬眠4 Mysql 5 支柱2

注:Telnet 192.168.0.15 3306工作,可以通过mysql查询浏览器连接

请带我到这里

以下是完整的堆栈跟踪:

org.hibernate.exception.JDBCConnectionException: Error calling Driver#connect
    at org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:132)
    at org.hibernate.engine.jdbc.connections.internal.BasicConnectionCreator$1$1.convert(BasicConnectionCreator.java:118)
...
...
...
    Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    at java.lang.reflect.Constructor.newInstance(Unknown Source)
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
    at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1074)
    at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2214)
    at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:781)
    at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:46)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    at java.lang.reflect.Constructor.newInstance(Unknown Source)
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
    at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:352)
    at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:284)
    at org.hibernate.engine.jdbc.connections.internal.DriverConnectionCreator.makeConnection(DriverConnectionCreator.java:55)
    ... 109 more
Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    at java.lang.reflect.Constructor.newInstance(Unknown Source)
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
    at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1074)
    at com.mysql.jdbc.MysqlIO.readPacket(MysqlIO.java:675)
    at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1078)
    at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2142)
    ... 119 more
Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost.
    at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2497)
    at com.mysql.jdbc.MysqlIO.readPacket(MysqlIO.java:599)
    ... 121 more
org.hibernate.exception.jdbconnectionexception:调用驱动程序#connect时出错
位于org.hibernate.exception.internal.SQLStateConversionDelegate.convert(SQLStateConversionDelegate.java:132)
位于org.hibernate.engine.jdbc.connections.internal.BasicConnectionCreator$1$1.convert(BasicConnectionCreator.java:118)
...
...
...
原因:com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:通信链路故障
成功发送到服务器的最后一个数据包是0毫秒前的。驱动程序尚未从服务器收到任何数据包。
位于sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法)
位于sun.reflect.NativeConstructorAccessorImpl.newInstance(未知源)
位于sun.reflect.delegatingConstructor或AccessorImpl.newInstance(未知源)
位于java.lang.reflect.Constructor.newInstance(未知源)
位于com.mysql.jdbc.Util.HandleneInstance(Util.java:406)
位于com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1074)
位于com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2214)
位于com.mysql.jdbc.ConnectionImpl(ConnectionImpl.java:781)
JDBC4Connection.(JDBC4Connection.java:46)
位于sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法)
位于sun.reflect.NativeConstructorAccessorImpl.newInstance(未知源)
位于sun.reflect.delegatingConstructor或AccessorImpl.newInstance(未知源)
位于java.lang.reflect.Constructor.newInstance(未知源)
位于com.mysql.jdbc.Util.HandleneInstance(Util.java:406)
位于com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:352)
位于com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:284)
位于org.hibernate.engine.jdbc.connections.internal.DriverConnectionCreator.makeConnection(DriverConnectionCreator.java:55)
... 109更多
原因:com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:通信链路故障
成功发送到服务器的最后一个数据包是0毫秒前的。驱动程序尚未从服务器收到任何数据包。
位于sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法)
位于sun.reflect.NativeConstructorAccessorImpl.newInstance(未知源)
位于sun.reflect.delegatingConstructor或AccessorImpl.newInstance(未知源)
位于java.lang.reflect.Constructor.newInstance(未知源)
位于com.mysql.jdbc.Util.HandleneInstance(Util.java:406)
位于com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1074)
位于com.mysql.jdbc.MysqlIO.readPacket(MysqlIO.java:675)
位于com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1078)
位于com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2142)
... 119更多
原因:java.io.EOFException:无法从服务器读取响应。预期读取4个字节,在连接意外丢失之前读取0个字节。
在com.mysql.jdbc.MysqlIO.readfull上(MysqlIO.java:2497)
位于com.mysql.jdbc.MysqlIO.readPacket(MysqlIO.java:599)
... 121更多

谢谢。

您能提供完整的错误堆栈跟踪吗?另外,您可能想查看一下,您好,谢谢您的链接,已经发布了完整的堆栈跟踪,已经尝试了那里提供的大多数解决方案,将尝试剩余的解决方案,希望它们能够工作。您是否检查了此项以允许远程MySQL并设置绑定地址?是的,my.ini没有绑定地址参数,我已经授予了所有权限,重要的是,当从32位计算机连接时,它可以工作!!!!请您提供完整的错误堆栈跟踪。此外,您可能需要查看Hi,感谢该链接,已经发布了完整的堆栈跟踪,已经尝试了那里提供的大多数解决方案,将尝试剩余的解决方案,希望它们可以工作。您是否检查了此项以允许远程MySQL并设置绑定地址?是的,my.ini没有绑定地址参数,我已经授予了所有权限,重要的是,当从32位计算机连接时,它可以工作!!!!