Как получить конкретные типы данных в Java? - PullRequest
0 голосов
/ 06 марта 2012

Рассмотрим этот сегмент кода

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 и т. Д.).

1 Ответ

0 голосов
/ 06 марта 2012

Я хотел бы создать файл XML с информацией о каждой базе данных и любом конкретном типе данных базы данных (например, CLOB или bytea), затем я бы использовал эту информацию и извлек ее для любого конкретного использования, которое вы можете использовать в своем коде. Надеюсь, это поможет.

...