试图直接用JAVA写程序连接ACCESS数据库时抛出异常,所以把代码简化了只执行简单的数据库连接,发现是SQLEXECEPTION,程序报sql error,  DriverManager.getConnection无法执行,哪位高手指点一下,看是什么问题,不胜感谢.import   java.awt.*;   
import   javax.swing.*;   
import   java.awt.event.*;   
import   java.io.*; 
import   java.sql.DriverManager;
import   java.sql.*;   public class link {public static void main(String[] args) {
try  
 { 
  Class.forName("sun.jdbc.odbc.JdbcOdbcDriver"); 
 }catch(ClassNotFoundException   e1)   
{   
System.out.println("Driver   not   found!");   

try   {
    String str="jdbc:odbc:driver=MicrosoftAccessDriver*.mdb};DBQ=d:\\program\\database\\earthquake.mdb";
    Connection  con=DriverManager.getConnection("str","","");
    con.close();  
     }catch(SQLException   e2)   
          {System.out.println("sql error!");   
    }     
}
}
 }

解决方案 »

  1.   

    现在没有人用JDBC ODBC桥连接access数据库了,即使你会了,没什么意义,建议你测试的时候选择mysql数据库吧!
      

  2.   

    我觉得你还是配置数据源为好,比如你配置的数据源为student,则String str="jdbc:odbc:driver=MicrosoftAccessDriver*.mdb};DBQ=d:\\program\\database\\earthquake.mdb" 
    改成String str="jdbc:odbc:student" 
      

  3.   

    对,如果要用ACCESS,就像楼上说的,设置数据源
      

  4.   

    谢谢各位指点,主要是数据库要用到EXCEL转换,和其他OFFICE文件转换,同时电脑配置很低,所以选择用ACCESS,
    按楼上2楼所说,改成在控制面板配置数据源后,一样连接不上,出现"sql error",同样的错误
    装了一个VB,换用VB连接,显示连接成功
    不知道JAVA为什么不行,我用的是ECLIPSE环境开发的,使用JDK5.0,请教了,谢谢各位
      

  5.   

    我是2楼:不会吧,那么奇特,难道错误信息就只有“sql error”,没其他信息?
      

  6.   

    JAVA抛出异常是SQLexception,
    今天更奇特,我换用VB用SQL查询,"select * from data"及其它所有列都成功,惟独
    "select zone fron data" 显示实时错误,太诡异了:(而zone 列的设置和其它几列设置一模一样的
      

  7.   

    刚才一位高人指点,改成,"select [zone] from data",VB下成功实现了,说明数据源应该没有问题的啊
      

  8.   

    JAVA抛出异常是SQLexception?详细的信息贴出来瞧瞧
      

  9.   

    不好意思楼上因为忙现在才回贴,因为CATCH异常是我设置的,程序就是一个简单的测试数据库连接的程序,
    所以console控制台其实只显示
    "sql error"
    也就是说屏幕只显示: sql error
      

  10.   

    str="jdbc:odbc:driver=MicrosoftAccessDriver*.mdb};DBQ=d:\\program\\database\\earthquake.mdb"变成
    str="jdbc:odbc:driver{MicrosoftAccessDriver*.mdb};DBQ=d:\\program\\database\\earthquake.mdb"
      

  11.   

    import java.sql.Connection;
    import java.sql.DriverManager;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;public class DBCon {
    private static String driver = "oracle.jdbc.driver.OracleDriver";
    private static String url = "jdbc:oracle:thin:@127.0.0.1:1521:orcl";
    private static String user = "scott";
    private static String password = "tiger";

    public static Connection getConnection(){
    try {
    Class.forName(driver);
    Connection con=DriverManager.getConnection(url, user, password);
    System.out.println("ok");
    return con;
    } catch (ClassNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    return null;
    }

    public static void close(Connection con,Statement stm,ResultSet rs){
    if(con!=null){
    try {
    con.close();
    } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }
    if(stm!=null){
    try {
    stm.close();
    } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }
    if(rs!=null){
    try {
    rs.close();
    } catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    }
    }

    public static void main(String[] args) {
    DBCon.getConnection();
    }
    }给你个连oracle的例子 
    链接数据库都差不多的代码