请教各位一个关于数据库的问题。

wddodo 2004-11-16 11:21:25
大家好,我在java中连接mysql数据库,可是有错误,特来请教
代码:
import java.sql.*;

public class MySql
{
public static void main(String[] args)
{
try{
Class.forName("org.gjt.mm.mysql.Driver").newInstance();
String url = "jdbc:mysql://localhost/jdon:3306?user=root&password=sun";

Connection conn = DriverManager.getConnection(url);

Statement state = conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);

String sql = "select * from jivewatch";

ResultSet rs = state.executeQuery(sql);

while(rs.next())
{
System.out.println("1:"+rs.getString(1));
System.out.println("2:"+rs.getString(2));
}

state.close();
}
catch(Exception e)
{
System.out.println(""+e);
e.printStackTrace();

}

}
};
错误提示:

java.sql.SQLException: Communication failure during handshake. Is there a server
running on localhost:3306?
java.sql.SQLException: Communication failure during handshake. Is there a server
running on localhost:3306?
at org.gjt.mm.mysql.MysqlIO.init(Unknown Source)
at org.gjt.mm.mysql.Connection.connectionInit(Unknown Source)
at org.gjt.mm.mysql.jdbc2.Connection.connectionInit(Unknown Source)
at org.gjt.mm.mysql.Driver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(DriverManager.java:525)
at java.sql.DriverManager.getConnection(DriverManager.java:193)
at MySql.main(MySql.java:11)
请按任意键继续 . . .
说明:
我在dos模式下用该用户名和密码已经登陆我要连接的数据库了,可在程序中就不行。急切等待。。。。

...全文
98 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
qdian 2004-11-16
  • 打赏
  • 举报
回复
Class.forName("com.mysql.jdbc.Driver").newInstance();
String url ="jdbc:mysql://127.0.0.1/fly?user=username&password=password&useUnicode=true&characterEncoding=gb2312";
Connection conn= DriverManager.getConnection(url);

同时到mysql的网站下载一个jdbc的驱动.

这个测试后通过
wddodo 2004-11-16
  • 打赏
  • 举报
回复
我已经解决了。
String url = "jdbc:mysql://localhost:3306/jdon?user=root&password=sun";错了。
应该是:
String url = "jdbc:mysql://localhost/jdon?user=root&password=sun";
另外,我用的是mysql5.0,可能需要更新驱动。

romeo00001 2004-11-16
  • 打赏
  • 举报
回复
是服务器不存在啊。。昏
tom2005 2004-11-16
  • 打赏
  • 举报
回复
应该是写错了

String url = "jdbc:mysql://localhost:3306/jdon?user=root&password=sun";
jFresH_MaN 2004-11-16
  • 打赏
  • 举报
回复
你的mysql是当作系统服务来启动的吧
wddodo 2004-11-16
  • 打赏
  • 举报
回复
谢谢那位兄弟
wddodo 2004-11-16
  • 打赏
  • 举报
回复
而且不能用mm.mysql-2.0.14-bin.jar驱动要使用mysql-connector-java-3.1.4-beta-bin~~
wddodo 2004-11-16
  • 打赏
  • 举报
回复
我找到错误原因了。我不因该在访问数据库时+3306,不过有谁知道原因吗?
最近在研究如何用 易语言 连接oracle数据库,搜集了网上很多源码和请教了一些人都没能测试成功。 经过不懈努力,我终于测通了!哈哈哈哈~ 不过,我想吐槽的是: 在搜集资料过程中,发现很多人都说易语言很难连上oracle,讲真,我也觉得官方不够给力! oracle作为全球第一大数据库厂商,为什么出易语言的官方支持库来适配呢? 虽然说可以通过调用windows的odbc来连,但这对不懂的人来说是很困难的一件事! 所以,真心希望官方能开发出oracle的支持库!!! 在测试过程中,我总结了以下几个需要注意的点: 1、无论你的电脑是32位还是64位,都必须安装32位的oracle客户端。安装类型可以是:管理员、运行时。 2、从oracle 11g以后,oracle官方不再提供32位的客户端安装介质。目前最新的oracle客户端为win32_11gR2_client.zip,可直接从官网下载。 3、选择DRIVER连接时,需要先在$ORACLE_HOME/network/admin/tnsnames.ora文件中的定义的一个连接名,测试成功后再将连接名配置在SERVER(连接服务名)中。 4、选择DSN连接时,需要先在OS系统数据源(32位)中配置好数据源,测试成功后再将数据源名称配置在DSN(数据源)中。 只要你按照以上几点来,就肯定可以用易语言连接oracle,并执行简单查询。 我自己的测试代码已分享出来了,需要oracle客户端的朋友可以去官方下载,也可以私信我。 好了,第一次参加这么盛大的活动,小小意思,请各位看官指点,谢谢!

62,614

社区成员

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

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