简体   繁体   English

如何在Java中获取数据库特定的数据类型?

[英]How to get database specific datatypes in java?

Consider this code segment 考虑这个代码段

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("********************************************");
        }

With this code segment I can get to know that if suppose MYTABLE has a column whose name is MYTABLEID of type NUMBER in Oracle then how can I get to know that what will be the corresponding datatype name of NUMBER equivalent in Mysql or PostGresql ? 通过此代码段,我可以知道,如果假设MYTABLE在Oracle中有一个名称为MYTABLEID且类型为NUMBER的列,那么我如何知道Mysql或PostGresql中与NUMBER等价的对应数据类型名称是什么? Basically aim is to get database specific datatype. 主要目的是获取数据库特定的数据类型。 Like in Oracle we have CLOB datatype but in postgresql we have bytea as an equivalent datatype. 像在Oracle中一样,我们具有CLOB数据类型,但在postgresql中,我们具有bytea作为等效数据类型。 I wanted database specific type so that I can create DDL (Create table statement) to create table in a particular database(from oracle to mysql or postgresql etc). 我想要特定于数据库的类型,以便可以创建DDL(创建表语句)以在特定数据库中创建表(从oracle到mysql或postgresql等)。

I would create an XML file with info on each database and any specific database datatype (eg CLOB, or bytea), then I would use this info and retrieve it for any specific use you may have in your code. 我将创建一个XML文件,其中包含每个数据库的信息以及任何特定的数据库数据类型(例如CLOB或bytea),然后我将使用此信息并针对您在代码中可能具有的任何特定用途检索它。 Hope it helps. 希望能帮助到你。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 如何从Java中的ResultSetMetaData获取不同的数据类型? - How can I get different datatypes from ResultSetMetaData in Java? 如何使用Java将RDBMS数据类型转换为NoSQL数据类型 - How to convert rdbms datatypes to nosql datatypes using java 获取prepareStatement的可能的数据类型-Java DB2 - Get possible datatypes for preparedStatement - Java DB2 如何在Java中制作具有不同数据类型的地图列表? - How to make a list of maps with different datatypes in java? Java如何创建具有多个列/数据类型的ArrayList - Java How to create a ArrayList with multiple columns/datatypes 如何在 Java 中创建具有多种数据类型的嵌套 hashmap? - How to create a nested hashmap with multiple datatypes in Java? 如何从XSD泛型获取数据类型 - How to get datatypes from XSD generic 如何从特定行和列的 JAVA 程序中的数据库中获取值? - How to get value from database in JAVA program from a specific row and column? 如何将可配置的xml数据类型和数据移动到oracle数据库 - how to move configurable xml datatypes and data to oracle database 如何读取同一节点下具有多种数据类型的Firebase数据库? - How to read firebase database with multiple datatypes under the same node?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM