一个小测试程序public class test {  public static void main(String args[]) {
    try {
      /* Test loading driver */
      String driver = "com.mysql.jdbc.Driver";      System.out.println( "=> loading driver:" );
      Class.forName( driver ).newInstance();
      System.out.println( "OK" );      /* Test the connection */
      String url = "jdbc:mysql://localhost:3306/coffeebreak";//请问这个端口号用不用写?应该是多少?      System.out.println( "=> connecting:" );      java.sql.DriverManager.getConnection(url, "root", "pass" );
      
      System.out.println( "OK" );
    }
    catch( Exception x ) {
      x.printStackTrace();
    }
  }
}
驱动可以加载成功,连接时提示异常:Caused by: java.net.ConnectException: Connection refused: connect
        at java.net.PlainSocketImpl.socketConnect(Native Method)
        at java.net.PlainSocketImpl.doConnect(PlainSocketImpl.java:333)
        at java.net.PlainSocketImpl.connectToAddress(PlainSocketImpl.java:195)
        at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:182)
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:366)
        at java.net.Socket.connect(Socket.java:519)
        at java.net.Socket.connect(Socket.java:469)
        at java.net.Socket.<init>(Socket.java:366)
        at java.net.Socket.<init>(Socket.java:209)
        at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.ja
va:256)
        at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:276)
        at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2027)
        ... 12 more请问是什么原因啊?
多谢

解决方案 »

  1.   


    cn = DriverManager.getConnection( "jdbc:mysql://MyDbComputerNameOrIP:3306/myDatabaseName", sUsr, sPwd ); 你看看你的MYSQL数据库用你设置的参数能不能登进去,会不会数据库你输入的这些参数有问题呀
      

  2.   

          Class.forName( driver ).newInstance();
    这个我觉得很奇怪
    要.newInstance()干什么的,我没见过用这个的。
    还有要确保MySQL这个服务是开着的
      

  3.   

    写法是正确的吧,好像是MYSQL服务没启动
      

  4.   

    你先在命令提示符下打入:
    mysql -u root -p
    然后是打入pssword试试,要是能进数据库的话,数据库就没问题
    进入以后输入
    use coffeebreak
    看能不能进这个数据库,
    要是这些都没问题的话,那只能是程序这边出错了
      

  5.   

    数据库没有问题
    请问程序改如何修改啊?
    thx
      

  6.   

    可能是由于MySQL的端口号被改动过。找到MySQL的安装目录,打开my.ini文件,找到[mysqld]组,看看port的值是否是3306,
    若不是将代码中的端口更改再试试看。端口为3306时,端口号可以省略。
      

  7.   

    我还是觉得newInstance很奇怪,要不删掉试一试?
      

  8.   

    你把驱动改成 org.jgt.mm.mysql.Driver试试
      

  9.   

    晕 果然是端口号不对 竟然是 3307 ??我没记着改过啊
    多谢bao110908兄 了