jdbc连接mysql的问题

wilddonkey 2004-08-09 07:48:10
安装mysql成功,在命令行下mysql可以工作,但每次都要运行一下mysqlmanager,而且没有出现系统托盘(信号灯)。mysql jdbc driver 用的是mysql-connector-java-3.0.8-stable-bin.jar 从一个java报表软件中找到的,classpath 也设置了,
但是下面的程序出错:System.out.println("connection is beginning");
Class.forName("com.mysql.jdbc.Driver").newInstance();
System.out.println("handshake");
String url = "jdbc:mysql://localhost/lbz_db";
// testDB为你的数据库名
Connection conn = DriverManager.getConnection(url,"","");
System.out.println("get connection ");
Statement stmt = conn
.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,
ResultSet.CONCUR_UPDATABLE);
String sql = "select * from cust_reply";
System.out.println("execute");
ResultSet rs = stmt.executeQuery(sql);
while (rs.next()) {
}

出错信息如下:
java.sql.SQLException: Communication link failure: Bad handshake
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:659)
at com.mysql.jdbc.Connection.createNewIO(Connection.java:1562)
at com.mysql.jdbc.Connection.<init>(Connection.java:491)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:346)
at java.sql.DriverManager.getConnection(DriverManager.java:512)
at java.sql.DriverManager.getConnection(DriverManager.java:171)
at org.hibernate.auction.LbzMySqlTest.main(LbzMySqlTest.java:29)

哪位高人指点一下
...全文
111 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
fuzhe 2004-08-10
  • 打赏
  • 举报
回复
你的链接路径是否有误,应该这样写:
String username="xxx";
String password="xxx";
public boolean connect(String ip, String host) {
boolean connectok=true;
try {sConnStr="jdbc:mysql://"+ip+"/"+host+"?user="+username+"&password="+password+"&useUnicode=true&characterEncoding=gb2312";
Class.forName(sDBDriver).newInstance();
conn = DriverManager.getConnection(sConnStr);
stmt = conn.createStatement(ResultSet.TYPE_FORWARD_ONLY ,ResultSet.CONCUR_UPDATABLE);
}
catch(Exception e) {
connectok=false;
System.err.println("数据库连接错误!\n详细信息: "+e.getMessage());
}
return connectok;
}

另外mysql驱动包一定要放在classpath里,或者tomcat的web-inf/lib里面
blackrain06 2004-08-10
  • 打赏
  • 举报
回复
有两种可能,一种是驱动程序的jar包没有考对路径,一种是设置了用户名和密码。如果设置了用户名和密码,你应该这样写url:
String url ="jdbc:mysql://localhost:端口号/user=用户名&password=密码";
Connection conn = DriverManager.getConnection(url);
niyboy 2004-08-10
  • 打赏
  • 举报
回复
MYSQL的驱动包拷过去没有??

检查一下;

String url ="jdbc:mysql://localhost:8080/data?user=用户名&password=密码";

data是你的数据库名字
liyong33 2004-08-09
  • 打赏
  • 举报
回复
Connection conn = DriverManager.getConnection(url,"","");


这儿要填上你数据库的用户名和密码
eg.
Connection conn=DriverManager.getConnection(url,"root","pass");
梦想家起飞 2004-08-09
  • 打赏
  • 举报
回复
换回旧的mysql驱动看看?
陈军chenjun 2004-08-09
  • 打赏
  • 举报
回复
这个com.mysql.jdbc.Driver没加载成功。是不是没有咯?

67,512

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧