做网络聊天室时,登陆之后跳到主界面时,老是提示“java.sql.SQLException: [Microsoft][ODBC 驱动程序 管理器] 未发现数据源名称并且未指定默认驱动程序 ”这个错误。我用的是ACCESS数据库,而且已经指定了数据原了。连接数据库的程序如下:
String dbUrl = "jdbc:odbc:name";
try{Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");}catch(ClassNotFoundException e){}

     try{
    Connection c = DriverManager.getConnection(dbUrl,user,password);//link database
    Statement s = c.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY);
    ResultSet r =s.executeQuery("SELECT * FROM chat where Nickname='"+name+"'"
         );
上面的NAME不就是数据源吗?
请各位高手指点指点?本人不胜感激!

解决方案 »

  1.   

    String dbUrl = "jdbc:odbc:name"; 用的是odbc连接,可能是你配置连接时出了错误,可以使用一下的连接试试: String dburl ="jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=Mobile.mdb";//此为NO-DSN方式
      

  2.   

    这时候又出现了“java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] 找不到文件 '(未知的)'”这样的错误?
    这是怎么回事?
      

  3.   

    數據源是在系統區設置的么?不會是用戶區吧?
    你access設置了username and password了么?
    沒有設置的話應該使用:
    Connection c = DriverManager.getConnection(dbUrl,"","")
    還不行的話在catch里面寫上文字,看看到底哪里錯了。
    看你報錯好像是沒有正確設置數據源。
      

  4.   

    “java.sql.SQLException: [Microsoft][ODBC 驱动程序 管理器] 未发现数据源名称并且未指定默认驱动程序 ”1.你数据源测试连接成功了吗2 你用的是系统DSN还是用户DSN 要用系统的DSN才可以  默认的情况下是用户的DSN
      

  5.   

    报错貌似是你的DSN未配置好,测试一下看看
      

  6.   

    刚才我把数据源改成了系统的dns了,结果就对了
    为什么是系统的呢,而不是用户的呢?