I have a problem to do with altering table columns and queries relating to that table thereafter.

I have a table which has been queried using an OracleDataAdapter.Fill(DataSet), if I add a column using say using an OracleCommand.ExecuteNonQuery() or sqlplus session (and doing a 'commit' after) the column does not show up on subsequant 'Fill' queries unless I reopen the DB connection.

If I remove a column the symptoms are different and I receive a "ORA-01007: variable not in select list" even if I have created a new OracleDataAdapter object.

I presume there is some caching going on at the driver level but I can't get around this other than closing and reopening the OracleConnection object.

Any ideas how to purge this cache or a setting of some sort I can change to stop it from doing this?