0
camel-sql 구성 요소를 사용하여 주어진 테이블 이름에 대한 모든 열 메타 데이터를 가져 오는 방법을 찾고 있습니다.camel-sql 구성 요소에서 테이블 메타 데이터를 가져 오는 방법
비록 장면 뒤에 스프링 - jdbc를 사용하지만 ResultSetMetaData를 얻을 수있는 방법은 없습니다.
camel-sql 구성 요소를 사용하여 주어진 테이블 이름에 대한 모든 열 메타 데이터를 가져 오는 방법을 찾고 있습니다.camel-sql 구성 요소에서 테이블 메타 데이터를 가져 오는 방법
비록 장면 뒤에 스프링 - jdbc를 사용하지만 ResultSetMetaData를 얻을 수있는 방법은 없습니다.
camel-sql 구성 요소에서 열 세부 정보를 가져 오는 직접적인 방법을 찾을 수 없습니다. 이제 spring jdbc 템플릿과 데이터 원본을 사용하여 정보를 얻을 수있었습니다.
public List<String> getColumnNamesFromTable(final TableData tableData) throws MetaDataAccessException {
final List<String> columnNames = new ArrayList<String>();
JdbcTemplate jdbcTemplate = new JdbcTemplate(dataSource);
StringBuilder query = new StringBuilder();
query.append("SELECT * FROM ").append(SINGLE_BLANK_SPACE);
query.append(tableData.getSchemaName());
query.append(tableData.getTableName()).append(SINGLE_BLANK_SPACE);
query.append("WHERE rownum < 0");
jdbcTemplate.query(query.toString(), new ResultSetExtractor<Integer>() {
@Override
public Integer extractData(ResultSet rs) throws SQLException, DataAccessException {
ResultSetMetaData rsmd = rs.getMetaData();
int columnCount = rsmd.getColumnCount();
for (int i = 1; i <= columnCount; i++) {
columnNames.add(rsmd.getColumnName(i).toUpperCase());
}
return columnCount;
}
});
return columnNames;
}