我现在用java 通过JDBC连接数据库,   
Class.forName(Constants.DB_DRIVER);//没问题
conn = java.sql.DriverManager.getConnection(Constants.DB_URL, Constants.USERNAME, Constants.PASSWORD);//报错
我设置的postpresql用户名和密码都是root,
db_url:jdbc:postgresql://localhost:5432/postgres
注册驱动是:org.postgresql.Driver
但测试连接时报错:
????????: ???? "root" Password ????????
java.lang.NullPointerException
at com.music.db.Conn.query(Conn.java:58)
at com.music.db.Conn.main(Conn.java:119)这是为什么呢?

解决方案 »

  1.   

    Constants.DB_URL, Constants.USERNAME, Constants.PASSWORD
    如果把Constants.USERNAME, Constants.PASSWORD这两个都改为"root",还有问题的话,就是数据库连接的问题了
      

  2.   

    Constants.USERNAME, Constants.PASSWORD 这个用户是你自己创建的吗,还有用户名密码确认没得错吗? 数据库的默认用户java 使用JDBC连接是会报错的额
      

  3.   

    你试试你的root能让你连数据库不?
    光数据库上的,先别通过java去连
    sqlplus root/root@ora_id 试试行不行..先把问题分解了再分析原因.
      

  4.   

    1. 先用Constants.USERNAME和Constants.PASSWORD中存储的用户名和密码直接登录数据库,确保能成功登录。
    2. 如果能成功登录,说明用户名密码没有问题,再将localhost改成机器的IP地址试一下。
    3. 如果还不行,确认一下,你使用的JDBC驱动是否正确,要注意JDBC驱动是否是针对这种数据库的,再有就是版本要对应。