Vector row = new Vector();
row.addElement(metaData.getColumnName(i));
row.addElement(metaData.getColumnTypeName(i));
- int precision = metaData.getPrecision(i);
+ long precision = 0;
+ try {
+ precision = metaData.getPrecision(i);
+ } catch (Throwable t) {
+ // Do nothing. An exception can be generated by some very large row sizes, like BLOB in Oracle.
+ // Then getPrecision() will generate an exception. So we ignore it and go on.
+ }
if (precision == 0) {
precision = metaData.getColumnDisplaySize(i);
}
int scale = metaData.getScale(i);
- row.addElement(new Integer(precision));
+ row.addElement(new Long(precision));
row.addElement(new Integer(scale));
int nullable = metaData.isNullable(i);