我按照你的思路写了下面的一段程序:
try
{
DatabaseMetaData meta = conn.getMetaData();
ResultSet rs = meta.getTables( null, "%", "%", null );
}
catch(SQLException sqlex)
{
System.err.println("Unabled to getMetaData");
sqlex.printStackTrace();
}
编译的时候无错误,但是执行的时候就抛出异常:
Unabled to getMetaData
java.sql.SQLException: [Microsoft][ODBC Microsoft Access 驱动程序]可选的功能未实现
at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6879)
at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7036)
at sun.jdbc.odbc.JdbcOdbc.SQLTables(JdbcOdbc.java:5472)
at sun.jdbc.odbc.JdbcOdbcDatabaseMetaData.getTables(JdbcOdbcDatabaseMeta
Data.java:2395)
at myData.<init>(myData.java:33)
at myData.main(myData.java:75)
后来我就改称下面的形式:
try
{
DatabaseMetaData meta = conn.getMetaData();
}
catch(SQLException sqlex)
{
System.err.println("Unabled to getMetaData");
sqlex.printStackTrace();
}
try
{
ResultSet rs = meta.getTables( null, "%", "%", null );
}
catch(SQLException sqlex)
{
System.err.println("Unabled to getTableList");
sqlex.printStackTrace();
}
现在连编译也不行了:
D:\java\myData.java:42: cannot resolve symbol
symbol : variable meta
location: class myData
ResultSet rs = meta.getTables( null, "%", "%", null );
^
1 error