I am trying to get Preview(data) of a table by querying using jdbc DatabaseMetadata and ResultSet.
Below code works perfectly fine if I run it against MySQL database and returns table name as well as data correctly, but it gives EMPTY tableName if ran against Exasol database. I need help to get tableName for given resultset.
        Preview preview = new Preview();
        List<Map<String, String>> headers = new ArrayList();
        List<Map<String, String>> data = new ArrayList();
        HashMap<String, String> resultMap = new HashMap();
        PreparedStatement ps = null;
        ResultSet rs = null;
        try{
            ps = con.prepareStatement(query);
            rs = ps.executeQuery();
            ResultSetMetaData rsmd = rs.getMetaData();
            int columnCount = rsmd.getColumnCount();
            while(rs.next()) {
                HashMap<String, String> columns = new HashMap();
                Map<String, String> dataMap = new HashMap();
                headers.clear();
                for(int i = 1; i <= columnCount; ++i) {
                    Map<String, String> headersMap = new HashMap();
                    String name = rsmd.getColumnLabel(i);
                    preview.setName(rsmd.getTableName(i));
                    headersMap.put("id", name);
                    headersMap.put("name", name);
                    headersMap.put("dataType", (Object)null);
                    dataMap.put(name, rs.getObject(name) != null ? rs.getObject(name).toString() : null);
                    columns.put(name, rs.getObject(name) != null ? rs.getObject(name).toString() : null);
                    headers.add(headersMap);
                }
                data.add(dataMap);
            }
     }catch(Exception e){}
In case of exasol data is also getting returned only table name is getting as "". Any help or clue to solve this problem pls.