求解决java中用jdbc方式连接mysql数据库的问题,错误异常如下:(解决后再加分)

Communications link failure due to underlying exception:

** BEGIN NESTED EXCEPTION **

com.mysql.jdbc.CommunicationsException
MESSAGE: Communications link failure due to underlying exception:

** BEGIN NESTED EXCEPTION **

java.net.SocketException
MESSAGE: Connection reset

STACKTRACE:

java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(Unknown Source)
at com.mysql.jdbc.util.ReadAheadInputStream.fill(ReadAheadInputStream.java:113)
at com.mysql.jdbc.util.ReadAheadInputStream.readFromUnderlyingStreamIfNecessary(ReadAheadInputStream.java:160)
at com.mysql.jdbc.util.ReadAheadInputStream.read(ReadAheadInputStream.java:188)
at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:1994)
at com.mysql.jdbc.MysqlIO.readPacket(MysqlIO.java:573)
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1044)
at com.mysql.jdbc.Connection.createNewIO(Connection.java:2775)
at com.mysql.jdbc.Connection.<init>(Connection.java:1555)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:285)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at wahack.visable.jdbcQuery.ConnectionODBC(jdbcQuery.java:20)
at wahack.visable.jdbcQuery.main(jdbcQuery.java:12)

** END NESTED EXCEPTION **

Last packet sent to the server was 0 ms ago.

STACKTRACE:

com.mysql.jdbc.CommunicationsException: Communications link failure due to underlying exception:

** BEGIN NESTED EXCEPTION **

java.net.SocketException
MESSAGE: Connection reset

STACKTRACE:

java.net.SocketException: Connection reset
at java.net.SocketInputStream.read(Unknown Source)
at com.mysql.jdbc.util.ReadAheadInputStream.fill(ReadAheadInputStream.java:113)
at com.mysql.jdbc.util.ReadAheadInputStream.readFromUnderlyingStreamIfNecessary(ReadAheadInputStream.java:160)
at com.mysql.jdbc.util.ReadAheadInputStream.read(ReadAheadInputStream.java:188)
at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:1994)
at com.mysql.jdbc.MysqlIO.readPacket(MysqlIO.java:573)
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1044)
at com.mysql.jdbc.Connection.createNewIO(Connection.java:2775)
at com.mysql.jdbc.Connection.<init>(Connection.java:1555)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:285)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at wahack.visable.jdbcQuery.ConnectionODBC(jdbcQuery.java:20)
at wahack.visable.jdbcQuery.main(jdbcQuery.java:12)

** END NESTED EXCEPTION **
代码:import java.sql.*;
public class jdbcQuery
{
public static void main(String[] args)
{

try
{
Class.forName("com.mysql.jdbc.Driver");
Connection con=DriverManager.getConnection("jdbc:mysql://192.168.223.54:1433/saleSystem","sa","password");
con.close();
}
catch(Exception e)
{
System.out.println(e.getMessage());
}
}
}

第1个回答  2012-04-06
你这个语句什么都没做,报这个异常是不是数据库连接超时了啊。还有你追问的图不是MYSQL貌似是SQL server 。想用MYSQL建议你下载并安装MYSQL
第2个回答  2012-04-06
就是你使用的是 SQLserver数据库,但是数据库连接是 mysql的 dbc:mysql://192.168.223.54:1433/saleSystem
第3个回答  2012-04-06
我了个去,你起的是SQLServer,为啥你用MYSQL包连接呢????追问

菜鸟我不懂,求解释

追答

你给1楼的图片中我看你起的是微软的SQLServer2000
根本不是MYSQL数据库
根本不是一个概念

追问

怎么解决?我刚学数据库,要启用mysql数据库?

追答

你直接连SQLServer得了
http://zhidao.baidu.com/question/79643275.html?an=0&si=7
去下SQLServer的驱动
照着上面的连

本回答被提问者采纳
第4个回答  2012-04-06
mysql服务没起来哦。追问

这样不是表示mysql服务已启动了吗?

追答

哥,你不是说是mysql吗,怎么给了sql server的服务图片

追问

是我搞错了。已解决,谢谢

第5个回答  2012-04-06
mysql配置成功了么?
把代码贴出来看看追问

mysql服务、TCP/IP协议已启动,还要怎么配置?代码在问题补充里

追答

监听接口打开了吗?如果数据库没监听也不行
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class ConnectJDBC {
public static final String DBDRIVER = "org.gjt.mm.mysql.Driver";//驱动jar包
public static final String DBURL = "jdbc:mysql://localhost:3306/DatabaseName";//数据库地址及DatabaseName名称
public static final String DBUSER = "root";//数据库账号
public static final String DBPASS = "mysqladmin";//数据库密码
private Connection conn = null;

public Connection getConn() {
try {
Class.forName(DBDRIVER);
conn = DriverManager.getConnection(DBURL, DBUSER, DBPASS);
} catch (SQLException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return conn;
}

public void closeConn() {
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}
这就是一个连接数据库的,自己先测试一下 如果没有报错,就说明连接成功了

我晕,楼主的是SQL Server的嘛,你怎么说是mysql = =!
SQL Server 和mysql完全不是同一个 我在给你一个连接SQL Server的
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class ConnectJDBC {
public static final String DBDRIVER = "com.microsoft.jdbc.sqlserver.SQLServerDriver";//驱动jar包
public static final String DBURL = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=";//数据库地址及DatabaseName名称
public static final String DBUSER = "sa";//数据库账号
public static final String DBPASS = "";//数据库密码
private Connection conn = null;

public Connection getConn() {
try {
Class.forName(DBDRIVER);
conn = DriverManager.getConnection(DBURL, DBUSER, DBPASS);
} catch (SQLException e) {
e.printStackTrace();
} catch (ClassNotFoundException e) {
e.printStackTrace();
}
return conn;
}

public void closeConn() {
if (conn != null) {
try {
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
}
}

java中利用JDBC向MySql数据库中插入中文出现乱码???,求解决办法
连接数据库设置编码 jdbc:mysql:\/\/地址:3306\/数据库名?characterEncoding=utf8 如果是windows的话 1、中止MySQL服务 2、在MySQL的安装目录下找到my.ini,如果没有就把my-medium.ini复制为一个my.ini即可 3、打开my.ini以后,在[client]和[mysqld]下面均加上default-character-set=utf8,保存并关闭 ...

使用jdbc连接mysql为什么报错?
这要求我们在设置url参数时,将useSSL=false,修改后 jdbc:mysql:\/\/localhost:3306\/ds3?useSSL=false 当我修改后,本以为这下应该没问题了,没想到,再一次出现了问题 错误3:Exception in thread "main" java.sql.SQLException: The server time zone value 'Öйú±ê×¼...

Java链接MySQL数据库老是报错,求助高手~
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver 找不到驱动,你驱动包没有引入吧。你是用的Myeclipse吗?是的话,可以点击工程的右键,里面有导入library的一个选项,就可以导入驱动包了。

Java用ODBC连接数据库错误,求解决
import java.sql.*;\/ 利用JDBC连接数据库 author Administrator \/ public class JDBConnection { public static Connection getConn() { String dbDriver = "com.mysql.jdbc.Driver"; \/\/ 定义数据库的驱动 String url = "jdbc:mysql:\/\/localhost:3306\/shopping"; \/\/ 定义URL地址 Connection connectio...

MySQL数据库连接出现异常mysql数据库连接不上
使用mysqldump备份完成之后,按照操作文档里的提示,从新安装MySQL服务即可解决MySQL数据库连接出现异常的问题。总而言之,MySQL数据库连接出现异常应该首先检查MySQL服务器本身的运行状态是否正常,检查连接状态,再尝试备份数据库,重新安装MySQL服务,这些都可以解决MySQL数据库连接出现异常的问题。

com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: Unknown...
我用的是jdbc连接mysql,出现这样的问题怎么解决方法如下:1、在建立数据库的时候指定数据库的字符集编码这样这个数据库的所有表都会默认使用数。2、据库的字符集编码如 create database foo charset utf8。3、在建表的时候指定字符集编码如 create table foo (id char(20)) charset utf8。4、指定...

JDBC链接MySQL的时候报这个异常:
应该是你连接数据库的时候是不是还插入了一条数据,你数据库中表字段设置为自增,在程序中进行插入的时候,就不应该在插入那个数据。

Eclipse连接MySQL数据库,java.lang.ClassNotFoundException: com.mys...
在Eclipse中连接MySQL数据库时,遇到了"java.lang.ClassNotFoundException: com.mysql.jdbc.Driver"错误。为了解决这一问题,我遵循了以下步骤:第一步,将MySQL的jar包整合到项目中。操作方法是:在项目上右键点击,选择"Properties",随后进入"Java build path"选项。点击"Libraries"选项卡,选择"Add ...

java jdbc连接mysql报错:No suitable driver found for jdbc
驱动版本或者驱动位置问题,你应该和应用服务器环境结合着问,比如说web服务器是不是tomcat啥的。如果是单独应用,就好好检查一下应用的编译设置中的库设置,是否保护了驱动jar!

java通过JDBC连接数据库,老是报错:ClassNotFoundException.该导入的...
\/\/加载MySql的驱动类 Class.forName("driver") ;———把driver变量的双引号去掉!driver是作为一个参数传入的!而不是“driver”

相似回答