[Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序

heyanbo12364 2012-11-29 04:24:45
访问Access数据库mdb文件时报错
java.sql.SQLException: [Microsoft][ODBC 驱动程序管理器] 未发现数据源名称并且未指定默认驱动程序
at sun.jdbc.odbc.JdbcOdbc.createSQLException(Unknown Source)
at sun.jdbc.odbc.JdbcOdbc.standardError(Unknown Source)
at sun.jdbc.odbc.JdbcOdbc.SQLDriverConnect(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcConnection.initialize(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcDriver.connect(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at java.sql.DriverManager.getConnection(Unknown Source)
at ConnAccessDB.main(ConnAccessDB.java:13)
下面是代码,文件位置肯定是对的,求大侠帮忙...help me
String url = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)}; DBQ=C:\\ESS_part001.mdb";
String sql = "select id,ordernr,typenr,erpnr,description1,note from tblPart where producttopgroup=1";
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection conn = DriverManager.getConnection(url);
if(conn != null){
PreparedStatement ps = conn.prepareStatement(sql);
ResultSet rs = ps.executeQuery();
while(rs.next())
{
System.out.print(rs.getString("id")+" ");
System.out.print(rs.getString("ordernr"));
System.out.println();
}
}

在线等 ,急呀 谢谢
...全文
3464 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
heyanbo12364 2012-11-30
  • 打赏
  • 举报
回复
换32位驱动没用,应该是楼上大哥说的 把jdk换成32位的,因为我在本机上用32位的jdk同样的代码就可以 谢谢各位 可以结贴了
wwwwb 2012-11-30
  • 打赏
  • 举报
回复
你更换成32位的 驱动试试
iihero 2012-11-29
  • 打赏
  • 举报
回复
引用 6 楼 heyanbo12364 的回复:
是64位的 ,现在我在数据源里面配置了Microsoft Access Driver (*.mdb, *accdb),然后选择mdb文件这样将代码中的url改成“jdbc:odbc:MyDatabase64”可以连接到mdb了,但是不想使用配置DNS这种,我用下面两种URL都不行 jdbc:odbc:Driver={Microsoft Access Driver (*.……
连接串是对的, 错在你可能用了64位的jdk, 你得改用32位的jdk。目前Access的驱动是32位的,只能被32位的jdk加载。
ACMAIN_CHM 2012-11-29
  • 打赏
  • 举报
回复
换这个 Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:/mydatabase.mdb
heyanbo12364 2012-11-29
  • 打赏
  • 举报
回复
是64位的 ,现在我在数据源里面配置了Microsoft Access Driver (*.mdb, *accdb),然后选择mdb文件这样将代码中的url改成“jdbc:odbc:MyDatabase64”可以连接到mdb了,但是不想使用配置DNS这种,我用下面两种URL都不行 jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)}; DBQ=C:\\ESS_part001.mdb jdbc:odbc:Driver={Microsoft Access Driver (*.mdb, *accdb)}; DBQ=C:\\ESS_part001.mdb
ACMAIN_CHM 2012-11-29
  • 打赏
  • 举报
回复
你的操作系统版本是多少? 注意 64 bit与 32bit 的不同,另外 office 2007 与 office 2003也不同。
heyanbo12364 2012-11-29
  • 打赏
  • 举报
回复
连接字符串应该是没问题的,我在本机上可以访问,在虚拟机winServer2008里面就不行,数据源中也有驱动,但就是访问不了
WWWWA 2012-11-29
  • 打赏
  • 举报
回复
JAVA不能用ADO连接MDB,看了看你的连接字串,没有问题啊
heyanbo12364 2012-11-29
  • 打赏
  • 举报
回复
我这是用java连的可以用ADO吗,请问用ADO要不要设置数据源?
WWWWA 2012-11-29
  • 打赏
  • 举报
回复
用ADO连接 Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\\ESS_part001.mdb

7,732

社区成员

发帖
与我相关
我的任务
社区描述
Microsoft Office Access是由微软发布的关系数据库管理系统。它结合了 MicrosoftJet Database Engine 和 图形用户界面两项特点。
社区管理员
  • Access
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧