未找到数据源名称且未指定默认驱动程序

时间:2012-04-30 07:41:32

标签: java odbc

我正在尝试从我的Java应用程序连接到MS Access数据库。这是我的代码:

try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
// set this to a MS Access DB you have on your machine
String filename = "UserInformation.accdb";
String database = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=";
database+= filename.trim() + ";DriverID=22;READONLY=true}"; // add on to the end
// now we can get the connection from the DriverManager
Connection con = DriverManager.getConnection( database ,"","");
Statement st= con.createStatement();
int i=st.executeUpdate("insert into Users(User_Name,User_Password)             values('"+username+"','"+password+"')");
System.out.println("Row is added");
}catch (Exception e) {
System.out.println("Error: " + e);
}

我收到此异常:未找到数据源名称且未指定默认驱动程序(ODBC)?

我该如何解决?

提前致谢

1 个答案:

答案 0 :(得分:0)

可能有几件事。我在64位桌面上从32位计算机上攻击数据库时遇到了这个问题。

如果你在Java中使用带有32位和64位的odbc谷歌问题,你会看到很多材料。最终对我有用的是从Java 5切换到6并确保我的Eclipse运行时配置没有设置不兼容的位模式。

很抱歉有点模糊,但花了几个小时试图弄清楚我相信它可能非常依赖情境。