难道没有人使用Java通过ODBC驱动来访问ACCESS数据库?

本文描述了使用Java进行ACCESS数据库维护时遇到的问题:无法查询数据库中的所有表名。作者尝试了特定的SQL语句,但在ODBC连接下执行时遇到了权限问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

想做一个基于Java的简单的数据库维护软件,但在处理ACCESS数据库时,遇到了问题:没有办法从ACCESS数据库中查询出数据库中有那些表,虽然通过上网搜索ACCESS的资料,找到了一个SQL语句:
String sql = "SELECT MSysObjects.Name FROM MsysObjects WHERE (Left$([Name],1)<>/"~/") AND (Left$([Name],4) <> /"Msys/") AND (MSysObjects.Type)=1 ORDER BY MSysObjects.Name";

但通过ODBC连接时,又报没有权限查询该表:
java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] 不能读取记录;在 'MsysObjects' 上没有读取数据权限。
 at sun.jdbc.odbc.JdbcOdbc.createSQLException(Unknown Source)
 at sun.jdbc.odbc.JdbcOdbc.standardError(Unknown Source)
 at sun.jdbc.odbc.JdbcOdbc.SQLExecDirect(Unknown Source)
 at sun.jdbc.odbc.JdbcOdbcStatement.execute(Unknown Source)
 at sun.jdbc.odbc.JdbcOdbcStatement.executeQuery(Unknown Source)
 at AccessTest.main(AccessTest.java:24)

咳,真是好事多磨。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值