Рассмотрим этот сегмент кода
Class.forName ("oracle.jdbc.OracleDriver");
connection = DriverManager.getConnection
("jdbc:oracle:thin:@//XXX.XXX.XXX.XXX:1521/xe", "abc", "def");
DatabaseMetaData metaData=connection.getMetaData();
ResultSet rsc= metaData.getColumns(null, "MYSCHEMA", "MYTABLE", null);
while (rsc.next()){
System.out.println(rsc.getString("COLUMN_NAME").toUpperCase());
System.out.println(rsc.getString("TYPE_NAME").toUpperCase());
System.out.println(rsc.getInt("COLUMN_SIZE"));
System.out.println(rsc.getInt("DECIMAL_DIGITS"));
System.out.println(rsc.getString("IS_NULLABLE").toUpperCase()) ;
System.out.println(rsc.getInt("ORDINAL_POSITION"));
System.out.println(rsc.getInt("DATA_TYPE"));
System.out.println("********************************************");
}
С помощью этого сегмента кода я могу узнать, что если предположить, что MYTABLE имеет столбец с именем MYTABLEID типа NUMBER в Oracle, то как я могу узнать, что будет соответствующим именем типа данных, эквивалентным NUMBER в Mysql или PostGresql? ? Основная цель - получить тип данных, специфичный для базы данных. Как и в Oracle, у нас есть тип данных CLOB, но в postgresql у нас есть байта как эквивалентный тип данных. Мне нужен конкретный тип базы данных, чтобы я мог создать DDL (оператор создания таблицы) для создания таблицы в конкретной базе данных (от оракула до mysql или postgresql и т. Д.).