`

Java连接MySQL数据库失败的一种可能原因

阅读更多
Java连接MySQL数据库失败的一种可能原因

    今天写了个java访问MySQL数据库的程序,发现总是连接失败,报以下异常:

Communication link failure: java.io.IOException, underlying cause: Unexpected end of input stream


** BEGIN NESTED EXCEPTION **

java.io.IOException
MESSAGE: Unexpected end of input stream

STACKTRACE:

java.io.IOException: Unexpected end of input stream
at com.mysql.jdbc.MysqlIO.readPacket(MysqlIO.java:1096)
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:626)
at com.mysql.jdbc.Connection.createNewIO(Connection.java:1562)
at com.mysql.jdbc.Connection.<init></init>(Connection.java:491)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:346)
at org.apache.tools.ant.taskdefs.JDBCTask.getConnection(JDBCTask.java:304)
at org.apache.tools.ant.taskdefs.SQLExec.execute(SQLExec.java:346)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:275)
at org.apache.tools.ant.Task.perform(Task.java:364)
at org.apache.tools.ant.Target.execute(Target.java:341)
at org.apache.tools.ant.Target.performTasks(Target.java:369)
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1216)
at org.apache.tools.ant.Project.executeTarget(Project.java:1185)
at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:40)
at org.eclipse.ant.internal.ui.antsupport.EclipseDefaultExecutor.executeTargets(EclipseDefaultExecutor.java:32)
at org.apache.tools.ant.Project.executeTargets(Project.java:1068)
at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.run(InternalAntRunner.java:423)
at org.eclipse.ant.internal.ui.antsupport.InternalAntRunner.main(InternalAntRunner.java:137)


** END NESTED EXCEPTION **

      后来在这里发现这是由于我使用的mysql的驱动程序有问题,换个驱动问题就解决了。(本人遇到的问题也是驱动问题,因为MYSQL是5.0版本,而驱动还是5.0以下版本,当然会出错,到网址:http://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.0.6.zip/from/pick?file=Downloads/Connector-J/mysql-connector-java-5.0.6.zip&mirror=pick#mirrors上下载一个最 新的JDBC驱动就可以了--eric Kwoks)

另外下面的异常也可能是这个原因:

java.sql.SQLException
MESSAGE: Communication link failure: java.io.EOFException, underlying cause: null

** BEGIN NESTED EXCEPTION **

java.io.EOFException

STACKTRACE:

java.io.EOFException
        at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:1394)
        at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:1538)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:1929)
        at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1167)
        at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1278)
        at com.mysql.jdbc.Connection.execSQL(Connection.java:2251)
        at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1772)
        at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1619)


** END NESTED EXCEPTION **


        at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:1713)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:1929)
        at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1167)
        at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1278)
        at com.mysql.jdbc.Connection.execSQL(Connection.java:2251)
        at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1772)
        at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1619)



注意: 这篇文章说用户名和密码错误,应该不是这个问题的原因;
分享到:
评论

相关推荐

    Java连接MySql数据库,并且实现插入、删除、更新、选择操作.pdf

    Java 连接 MySql 数据库是 Java 程序员中非常常见的一种操作。通过使用 JDBC(Java Database Connectivity,Java 数据库连接)驱动程序,可以轻松地连接到 MySql 数据库,并实现插入、删除、更新、选择等操作。本文...

    java连接mysql数据库用到的jar包

    在给定的文件名称列表中,我们看到的是`mysql-connector-java-5.1.7.jar`,这是一个特定版本的MySQL连接器,用于允许Java应用程序与MySQL数据库进行通信。 MySQL Connector/J是MySQL官方提供的Java数据库连接器,它...

    Java连接MySql数据库

    在IT行业中,Java是一种广泛应用的编程语言,而MySQL则是最流行的开源关系型数据库管理系统之一。本文将详细探讨如何使用Java连接MySQL数据库,以及涉及到的相关知识点。 首先,Java连接MySQL数据库通常依赖于JDBC...

    浅谈Java中Mysql数据库的连接与操作.pdf

    连接MySQL数据库的步骤包括引入必要的java.sql包、加载JDBC驱动程序、创建数据库连接(Connection),以及创建数据库连接后进行操作。在Java代码中,这一过程大致如下: 1. 导入java.sql包; ```java import java....

    java连接mysql数据库驱动包

    Java连接MySQL数据库主要依赖于JDBC(Java Database Connectivity),它是一种让Java程序与各种数据库进行交互的标准接口。在Java中,我们通常会使用MySQL提供的驱动类来建立与MySQL数据库的连接。这个“java连接...

    Linxu下Java连接MySQL数据库

    在Linux环境下,使用Java连接MySQL数据库是常见的任务,主要涉及Java编程、数据库连接技术以及Linux操作。本篇文章将深入探讨如何在Linux系统中利用Java的JDBC(Java Database Connectivity)接口来实现与MySQL...

    java连接mysql数据库的三个不同的工具类

    在Java编程中,连接MySQL数据库是一项基础且重要的任务。这里我们关注的是三个不同的工具类,它们都是对JDBC(Java Database Connectivity)API的封装,旨在简化数据库操作。JDBC是Java标准库的一部分,允许Java应用...

    java备份mysql数据库

    标题“Java备份MySQL数据库”指的是使用Java编程语言来创建一个程序,该程序能够对MySQL数据库进行备份操作。这种备份通常涉及导出数据库的结构和数据,以便在需要时可以恢复到某个特定时间点的状态。在Java中实现这...

    java连接MySql、SqlServer数据库实例

    首先,我们从Java连接MySQL数据库开始。MySQL是一种开源、免费的关系型数据库管理系统,它被广泛应用于Web应用开发。Java通过Java Database Connectivity (JDBC) API来与MySQL进行通信。要建立连接,你需要以下步骤...

    javaservlet连接mysql数据库可用.pdf

    连接 MySQL 数据库是 Java Servlet 中的一种常见操作。本文将详细讲解 Java Servlet 连接 MySQL 数据库的步骤和配置。 Java Servlet 连接 MySQL 数据库的优势 使用 Java Servlet 连接 MySQL 数据库可以提供动态的 ...

    VB6.0连接MySQL数据库

    VB6.0作为一种已经较为老旧的开发工具,在与现代数据库如MySQL的配合使用时,虽然可以实现功能,但可能不如使用现代的开发语言和数据库技术(如.NET、Java EE配合SQL Server或Oracle)那样流畅。不过对于学习和特定...

    java实现mysql数据库的表导出到excel文件

    在IT行业中,将数据库数据导出到Excel文件是一种常见的需求,尤其在数据分析、报表生成或者数据备份时。本文将详细讲解如何使用Java实现从MySQL数据库的表导出到Excel文件的过程,以及涉及到的关键技术和工具。 ...

    Java连接MySQL的驱动包

    在Java编程中,连接MySQL数据库是一项基础且至关重要的任务。MySQL是一种广泛使用的开源关系型数据库管理系统,而Java作为跨平台的编程语言,提供了多种方式来与MySQL进行交互。在这个场景中,我们关注的是"Java连接...

    java mysql数据库的连接

    Java MySQL数据库连接是Java开发中常见的一项任务,用于在应用程序中与MySQL数据库进行交互,例如存储、检索或更新数据。JDBC(Java Database Connectivity)是Java平台中的一个标准API,它提供了一种统一的方式来...

    2024java连接mysql数据库的jar包.zip

    2024年的Java连接MySQL数据库的jar包是一种功能强大的工具,专门用于在Java应用程序中实现与MySQL数据库的连接和交互。这个jar包提供了高效的数据库访问能力,使开发人员能够轻松地执行各种数据库操作,包括查询、...

    Java连接MySql数据库入门操作.pdf

    Java连接MySQL数据库是一项基础但至关重要的技术操作,它涉及到编程语言Java与数据库管理系统MySQL之间的交互。本文档旨在为初学者提供入门级的操作指南,其中介绍了如何在Java程序中建立与MySQL数据库的连接,并...

    Java连接mysql数据库攻略

    ### Java连接MySQL数据库攻略 在本篇文章中,我们将详细介绍如何使用Java语言来连接MySQL数据库,这对于任何希望在Java应用程序中实现数据库操作的开发者来说都至关重要。以下内容将涵盖必要的准备工作、连接过程...

Global site tag (gtag.js) - Google Analytics