java.sql.SQLException: [Microsoft][ODBC 驱动程序管理器]

java.sql.SQLException: [Microsoft][ODBC 驱动程序管理器] 在指定的 DSN 中,驱动程序和应用程序之间不匹配
import java.sql.*;
public class example {

public static void main(String[] args) {
    // TODO 自动生成的方法存根
    Connection con;
    Statement sql;
    ResultSet rs;
    try{
        Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    }
    catch(ClassNotFoundException e){
        System.out.print(e);
    }

    try{
        con = DriverManager.getConnection("jdbc:odbc:star","","");
        sql = con.createStatement();
        rs = sql.executeQuery("SELECT * FROM employee WHERE salary > 1900");
        while(rs.next()){
            String number = rs.getString(1);
            String name = rs.getString(2);
            Date date = rs.getDate("birthday");
            double salary = rs.getDouble("salary");
            System.out.printf("% - 4s",number);
            System.out.printf("% - 6s",name);
            System.out.printf("% - 15s",date.toString());
            System.out.printf("% 6s\n",salary);
        }
        con.close();
    }
    catch(SQLException e){
        System.out.println(e);
    }
}

}
以上代码在eclipse上运行出现错误,系统是64位的,用的是sysWoW64中的odbcad32创建的数据源,求解啊,小白一个= =

http://blog.csdn.net/gyarenas/article/details/21699215

你确定你的url路径是正确的?

Win7 64控制面板里面直接打开ODBC就只有Mysql,添加Access会出错:“[Microsoft][ODBC 驱动程序管理器] 在指定的 DSN 中,驱动程序和应用程序之间的体系结构不匹配”,到网上查了一下,直接运行C:/Windows/SysWOW64/odbcad32.exe 就是32位ODBC,这个里面倒是能添加Access数据库了。然后用我的64位Java编译,运行后还是有错:“指定之DNS中的驱动程式和应用程式架 构不相符”,终于明白64位Java要对应64位ODBC,于是安装了Microsoft Office 2010 64bit 这回使用控制面板里面的64位ODBC终于能加Access数据库了,Java编译运行也正常了。此时我在使用目录里面的32位ODBC反而不行了(之前 的32位Office卸载了)提示:“找不到Microsoft Access Driver (*.mdb,*.accdb)ODBC驱动程序的安装例程,请重新安装驱动程序”。据我分析如果安装32位Java则用系统目录里的32位Odbc也是 可以的,所以软件的构架要相对应。

终于知道了,蛋疼啊。。问题出在odbc上

图片说明
这里应该写你连接的数据库的url路径,后面两个引号应该是写数据库用户名和密码

ODBC是否驱动是否安装正确,