File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes JDBC and the fly likes Get table names from a database in access  Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Databases » JDBC
Bookmark "Get table names from a database in access  " Watch "Get table names from a database in access  " New topic

Get table names from a database in access

Aditya Torvi

Joined: Aug 12, 2004
Posts: 3
The following code works with Oracle, Sybase, MySQL.

public void listTables()
Connection connection = getConnection();
String catalogName, /* this can be null for all catalogs */
schemaName, /* this can be null for all schemas */
tableType = "TABLE"; /* this can be null for "any" type */

if ((connection != null) && (tableType != null)) {
DatabaseMetaData dmd = connection.getMetaData();
ResultSet rs;

rs = dmd.getTables(catalogName, schemaName, null, new String[]{tableType });

while ( {
System.out.println("Table name = " +

But gives this exception for Access-
[Microsoft][ODBC Microsoft Access Driver]Optional feature not implemented

Any suggestions?
Paul Sturrock

Joined: Apr 14, 2004
Posts: 10336

Your driver doesn't implement the getTables method. Change your driver. From the java.sql.DatabaseMetaData JavaDoc:

Different relational DBMSs often support different features, implement features in different ways, and use different data types

JavaRanch FAQ HowToAskQuestionsOnJavaRanch
I agree. Here's the link:
subject: Get table names from a database in access
Similar Threads
jdbc and ms access with stored query
How to get list of tables in MS access database into my java program
Getting Table Name
STORING Resultset in String variable
DatabaseMetaData API