为什么访问不了数据库?

zhuxiaojian2132 2007-06-19 12:23:31

我用的是mysql,mydatabase在其data子文件夹下,里面有一个表,加载了驱动包 mysql-connector-java-3.1.12-bin.jar,在Eclipse写下面程序,为什么提示我访问不到mydatabase呢?
程序如下:
package mypackage;

import java.sql.*;

public class DatabaseConnection {

public static void main(String [] args)
{
String driver = "com.mysql.jdbc.Driver";
String url = "jdbc:mysql://localhost/mydatabase";
String user = "root";
String password = "harmony";


try
{
Class.forName(driver);
Connection con = DriverManager.getConnection(url,user,password);
String insert = "insert friends(id,name) values(?,?)";
PreparedStatement prestatement = con.prepareStatement(insert);
String [] names = {"Rachel","Rose","Phoebe","Monica","Chandler","Joey"};
for(int i = 0;i < 6;i++ )
{
prestatement.setInt(1,i);
prestatement.setString(2,names[i]);
prestatement.execute();
}

String query = "select * from friends";
ResultSet result = prestatement.executeQuery(query);

System.out.println("The Results is:");
while (result.next())
{
System.out.println(result.getString("name"));
}
con.close();

}catch(SQLException e)
{
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}
}



出错信息如下:
java.sql.SQLException: Unknown database 'mydatabase'
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:2928)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:771)
at com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:3649)
at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1176)
at com.mysql.jdbc.Connection.createNewIO(Connection.java:2558)
at com.mysql.jdbc.Connection.<init>(Connection.java:1485)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:266)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at mypackage.DatabaseConnection.main(DatabaseConnection.java:18)


请各位帮帮小弟的忙,我刚开始学习jdbc
...全文
300 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
ynchangtao 2007-06-20
  • 打赏
  • 举报
回复
数据库好象是没有撒!你看看是不是没有端口 顶上!!!
zhangjg2124 2007-06-20
  • 打赏
  • 举报
回复
jdbc:mysql://localhost:3306/mydatabase
liuzhiwei830815 2007-06-20
  • 打赏
  • 举报
回复
好像没有端口号
huoyin 2007-06-19
  • 打赏
  • 举报
回复
登陆你的本机的mysql数据库,检查是否存在mydatabase数据库,如果没有则创建一个mydatabase数据库。

或者把String url = "jdbc:mysql://localhost/mydatabase";中的mydatabase改为一个存在的数据库
fengmingjie 2007-06-19
  • 打赏
  • 举报
回复
String url = "jdbc:mysql://localhost:3306/mydatabase";改成这样试试
最好在dos命令行下登录一下数据库先测试一下mysql
一九清风 2007-06-19
  • 打赏
  • 举报
回复
如果mydatabase库存在,加个3306端口试试呢?
zhkchi 2007-06-19
  • 打赏
  • 举报
回复
很明显没有'mydatabase' 这个数据库
rjzou2006 2007-06-19
  • 打赏
  • 举报
回复
http://blog.csdn.net/rjzou2006/archive/2007/05/31/1632227.aspx
wxno1 2007-06-19
  • 打赏
  • 举报
回复
数据库名不对,是数据库里的数据库名
gongyali2005 2007-06-19
  • 打赏
  • 举报
回复
加一句use mydatabase;SQL语句
xbq0501 2007-06-19
  • 打赏
  • 举报
回复
首先在doc下测试你的mysql是否成功;测试方法:
在doc下转到你的mysql的安装目录的bin下,输入mysql -h localhost -u root -p回车
提示输入密码:输入你的密码回车,如果出现欢迎信息则成功!

应该是安装mysql时设置了port,而访问时用默认的3306,所以找不到,请加上你设置的port试下;

祝你好运!

81,095

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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