null, _connection.getSchema(), _tableName, null);
null, schemaName, tableName, null);
    public Column[] getColumns() throws DataSetException    {        if (_columns == null)        {            try            {                Connection jdbcConnection = _connection.getConnection();                DatabaseMetaData databaseMetaData = jdbcConnection.getMetaData();                ResultSet resultSet = databaseMetaData.getColumns(                        null, _connection.getSchema(), _tableName, null);                try                {                    List columnList = new ArrayList();                    while (resultSet.next())                    {                        String columnName = resultSet.getString(4);                        int sqlType = resultSet.getInt(5);//                        String sqlTypeName = resultSet.getString(6);//                        int columnSize = resultSet.getInt(7);                        int nullable = resultSet.getInt(11);                        try                        {                            Column column = new Column(                                    columnName,                                    DataType.forSqlType(sqlType),                                    Column.nullableValue(nullable));                            columnList.add(column);                        }                        catch (DataTypeException e)                        {                            // ignore unknown column datatype                        }                    }                    _columns = (Column[])columnList.toArray(new Column[0]);                }                finally                {                    resultSet.close();                }            }            catch (SQLException e)            {                throw new DataSetException(e);            }        }        return _columns;    }