Я пытаюсь получить информацию о базе данных, такую как информация о базе данных, таблицы, представления, пользователи, схемы.Но я не могу получить таблицы.Я загружаю драйвер базы данных из внешнего файла jar, потому что я хочу создать общую программу базы данных, которая получает драйверы jdbc из внешнего файла jar.
try {
DatabaseMetaData dm = connection.getMetaData();
/**
* Database Info
*/
System.out.println("Database Info\n---------------------------------\n");
System.out.println(dm.getDatabaseProductName());
System.out.println(dm.getDriverName());
System.out.println(dm.getDriverVersion());
System.out.println(dm.getDatabaseProductVersion());
ResultSet rsCatalogs = dm.getCatalogs();
System.out.println("Catologs\n---------------------------------\n");
while (rsCatalogs.next()) {
System.out.println(rsCatalogs.getString(1));
}
rsCatalogs.close();
System.out.println("Schemas\n---------------------------------\n");
ResultSet rsSchemas = dm.getSchemas();
while (rsSchemas.next()) {
System.out.println(rsSchemas.getString(1));
}
rsSchemas.close();
/**
* TABLES
*/
System.out.println("Tables\n---------------------------------\n");
ResultSet rsTables = dm.getTables(null, null, "%", null);
while (rsTables.next()) {
System.out.println(rsTables.getString(3));
}
rsTables.close();
/**
* columns
*/
System.out.println("Columns of kontrol\n---------------------------------\n");
ResultSet columns = dm.getColumns(null, null, "kontrol", null);
while (columns.next()) {
String columnName = columns.getString("COLUMN_NAME");
String datatype = columns.getString("DATA_TYPE");
String columnsize = columns.getString("COLUMN_SIZE");
String decimaldigits = columns.getString("DECIMAL_DIGITS");
String isNullable = columns.getString("IS_NULLABLE");
String is_autoIncrment = columns.getString("IS_AUTOINCREMENT");
//Printing results
System.out.println(columnName + "---" + datatype + "---" + columnsize + "---" + decimaldigits + "---" + isNullable + "---" + is_autoIncrment);
}
columns.close();
} catch (SQLException e) {
e.printStackTrace();
}
Вывод:
Database Info
---------------------------------
MySQL
MySQL Connector Java
mysql-connector-java-5.1.45 ( Revision: 9131eefa398531c7dc98776e8a3fe839e544c5b2 )
5.5.5-10.1.28-MariaDB
Catologs
---------------------------------
information_schema
kurs
mysql
performance_schema
phpmyadmin
seyehat
test
yolcutakip
Schemas
---------------------------------
Tables
---------------------------------
Columns of kontrol
---------------------------------
Примечание 1: seyehat, test, yolcutakip - мои базы данных. Примечание 2. Я занимаюсь разработкой универсальной программы для баз данных, поэтому этот код не будет работать только в mysql, но также и в oracle, derby ...