Guilherme dá uma olhada.
Como eu não sei o total de registro que meu resultset irá retornar eu criei dois vetores.
O primeiro tem uma capacidade de 100000 registros e recebe os dados do resultset.
O segundo é criado com base no total de registros do primeiro e recebe todos os registros do primeiro.
Segue abaixo.
OracleDataSource dataSource;
Connection con = null;
Statement stmt = null;
ResultSet rs = null;
try {
dataSource = new OracleDataSource();
dataSource.setURL("jdbc:oracle:thin:@localhost");
con = dataSource.getConnection("webplan", "webplan");
stmt = con.createStatement();
rs = stmt.executeQuery("select CRIADO_POR, TRUNCACREATION_DATE, ATUALIZADO_POR, TRUNCALAST_UPDATE_DATE, ORGANIZATION_CODE, FAMILIA_CUSTO, ITEM, CST_STD, DESCRIPTION, TIPO_ITEM, FABRICADO_COMPRADO, CROSS_REFERENCE, BUYER, PLANNER_CODE, COMM_CODE, NCNR, DESC_COMM_CODE, CATEGORY, FAM_PROD, NCM, INVENTORY_ITEM_STATUS_CODE, PREPROCESSING_LEAD_TIME, FULL_LEAD_TIME, POSTPROCESSING_LEAD_TIME, WEIGHT_UOM_CODE, UNIT_WEIGHT, ORIGEM, CLASS_ABC, FIXED_DAYS_SUPPLY, METODO_PLAN, EXCEPTION_TYPE, MODEL, WAC_BRL, WAC_USD, FIXED_LOT_MULTIPLIER, FIXED_LEAD_TIME, MINIMUM_ORDER_QUANTITY from wp_itens_jgr order by item");
int col = 0;
int row = 0;
int totalColumn = rs.getMetaData().getColumnCount();
Object header[] = new Object[totalColumn];
Object lines[][] = new Object[100000][totalColumn];
for (int i = 0; i < rs.getMetaData().getColumnCount(); i++) {
header[i] = (rs.getMetaData().getColumnName(i + 1));
}
while(rs.next()) {
while (col < totalColumn) {
lines[row][col] = rs.getObject(col + 1);
col++;
}
row++;
col = 0;
}
Object data[][] = new Object[row][totalColumn];
int m = 0;
int n = 0;
while (m < row) {
while (n < totalColumn) {
data[m][n] = lines[m][n];
n++;
}
m++;
n = 0;
}
con.close();
stmt.close();
rs.close();
dataSource.close();
JTable table = new JTable(data, header);
jScrollPane1.setViewportView(table);
jPanel1.add(jScrollPane1);
} catch(Exception e) {
System.out.println(e.getMessage());
}
}
Valeu pela ajuda.