【发布时间】:2017-03-21 14:21:30
【问题描述】:
是否可以从 JDBC 元数据结构中获取数组列的类型?
re = openedConnection.getMetaData().getColumns(...)
while (rs.next())
{
final String columnName = rs.getString("COLUMN_NAME");
final int columnType = rs.getInt("DATA_TYPE");
...
type 返回 ARRAY,但返回一个包含什么 (int、text、numeric...) 的数组?
理想情况下独立于数据库(Oracle 和 Postgres 支持这一点,不确定 MySQL 或 SQL Server)
【问题讨论】:
-
rs.getString("TYPE_NAME")docs.oracle.com/javase/8/docs/api/java/sql/… -
或者甚至直接从一个ResultSet(例如resultSet.getMetaData().getColumnType(1)。(获取第一列的类型)
-
@dsp_user 你的意思是
.getColumnTypeName(1)?getColumnType(1)返回 java 类型(只有ARRAY)。 -
不,正如我所写的。代码是 resultSet.executeQuery(); resultSet.getMetaData().getColumnType(1)。 (获取第一列的类型)。您甚至可以使用返回空 ResultSet 的选择(元数据仍然存在)
-
对不起,我不明白你问什么(但现在我明白了)。请忽略我的评论。
标签: java oracle postgresql jdbc