Как получить список имен баз данных "Схема" MySql, используя java JDBC - PullRequest
9 голосов
/ 15 апреля 2011

как получить список имен баз данных "Схема" MySql с помощью java JDBC?

Ответы [ 4 ]

19 голосов
/ 15 апреля 2011

Метод getSchemas() для DatabaseMetaData очевиден, но с MySQL вы должны использовать getCatalogs()

http://download.oracle.com/javase/7/docs/api/java/sql/DatabaseMetaData.html#getSchemas() http://download.oracle.com/javase/7/docs/api/java/sql/DatabaseMetaData.html#getCatalogs()

Пример:

Class.forName("com.mysql.jdbc.Driver");

// change user and password as you need it
Connection con = DriverManager.getConnection (connectionURL, "user", "password");

ResultSet rs = con.getMetaData().getCatalogs();

while (rs.next()) {
    System.out.println("TABLE_CAT = " + rs.getString("TABLE_CAT") );
}
4 голосов
/ 15 апреля 2011
  • Либо используйте SHOW DATABASES, чтобы увидеть, если оно внутри,
  • Проверьте INFORMATION_SCHEMA,
  • или просто сделай USE DATABASE; и поймай ошибка.
3 голосов
/ 15 апреля 2011
DatabaseMetaData meta = conn.getMetaData();
ResultSet schemas = meta.getSchemas();
while (schemas.next()) {
  String tableSchema = schemas.getString(1);    // "TABLE_SCHEM"
  String tableCatalog = schemas.getString(2); //"TABLE_CATALOG"
  System.out.println("tableSchema"+tableSchema);
}

Надеюсь, что эта помощь

0 голосов
/ 29 мая 2013
DatabaseMetaData dbmd = con.getMetaData();
ResultSet ctlgs = dbmd.getCatalogs();
while(ctlgs.next())
{
System.out.println("ctlgs  =  "+ctlgs.getString(1));
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...