如何使用java jdbc odbc桥从*.mdb文件中获取表名?

如何使用java jdbc odbc桥从*.mdb文件中获取表名?,java,database,jdbc-odbc,Java,Database,Jdbc Odbc,我想从mdb文件中获取表名,以便使用jdbc odbc桥接器执行sql查询,但仅限于文件路径,有人可以帮助吗?Thks提前。第一个问题是,您正在对一个表进行迭代,从0到count,其中count是列数: java.sql.SQLException: [Microsoft][ODBC Driver programming manager] Invalid descriptor indexing(translate by myself from chinese) at sun.

我想从mdb文件中获取表名,以便使用jdbc odbc桥接器执行sql查询,但仅限于文件路径,有人可以帮助吗?Thks提前。

第一个问题是,您正在对一个表进行迭代,从0到count,其中count是列数:

   java.sql.SQLException: [Microsoft][ODBC Driver programming manager] Invalid descriptor indexing(translate by myself from chinese)
        at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6964)
        at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7121)
        at sun.jdbc.odbc.JdbcOdbc.SQLColAttributesString(JdbcOdbc.java:2674)
        at sun.jdbc.odbc.JdbcOdbcResultSetMetaData.getColAttributeString(JdbcOdbcResultSetMetaData.java:792)
        at sun.jdbc.odbc.JdbcOdbcResultSetMetaData.getTableName(JdbcOdbcResultSetMetaData.java:466)
int count=rsMetaData.getColumnCount();
for(int i=0;i

如果列多于表,则可能会出现错误。

非常感谢!我调试并发现代码中变量表的大小为0。我认为函数meta.getTables()中的第三个参数可能有问题,因此我将“TAB_u%”更改为“%”它不仅可以获取我想要的所有表名,还可以获取系统表,如“MSysAccessObjects”、“MSysObjects”等。如何获取实际的表名?再次感谢。搜索DatabaseMetaData.getTables会返回一些可能有用的页面。
   java.sql.SQLException: [Microsoft][ODBC Driver programming manager] Invalid descriptor indexing(translate by myself from chinese)
        at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6964)
        at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7121)
        at sun.jdbc.odbc.JdbcOdbc.SQLColAttributesString(JdbcOdbc.java:2674)
        at sun.jdbc.odbc.JdbcOdbcResultSetMetaData.getColAttributeString(JdbcOdbcResultSetMetaData.java:792)
        at sun.jdbc.odbc.JdbcOdbcResultSetMetaData.getTableName(JdbcOdbcResultSetMetaData.java:466)
int count=rsMetaData.getColumnCount();
for (int i = 0; i < count; i++) {