问题描述
- 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("% 6sn",salary); } con.close(); } catch(SQLException e){ System.out.println(e); } }
}
以上代码在eclipse上运行出现错误,系统是64位的,用的是sysWoW64中的odbcad32创建的数据源,求解啊,小白一个= =
解决方案
http://blog.csdn.net/gyarenas/article/details/21699215
解决方案二:
你确定你的url路径是正确的?
解决方案三:
终于知道了,蛋疼啊。。问题出在odbc上
解决方案四:
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也是 可以的,所以软件的构架要相对应。
解决方案五:
这里应该写你连接的数据库的url路径,后面两个引号应该是写数据库用户名和密码
解决方案六:
这里应该写你连接的数据库的url路径,后面两个引号应该是写数据库用户名和密码
解决方案七:
ODBC是否驱动是否安装正确,
解决方案八:
ODBC是否驱动是否安装正确,