想做一个基于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)
咳,真是好事多磨。