Subject Re: [IBO] TIBOQuery to TClientDataSet really slow
Author lalopus
why does this only happen when using a ClientDataSet (or maybe
DataSetProvider)?

>
> No, not redundantly. IBO makes great use of the metadata.
>
>
> What you describe here is the connection getting the metadata of
your
> extraordinarily large (in terms of objects) database. As someone
else
> suggested, you can avoid having this happen every time on
connection by
> enabling schema caching. After that, as long as the metadata
doesn't
> change, the schema querying won't occur on each connection.
Properly set
> up, schema caching stores a local cache (just a text file)
containing info
> which IBO uses instead of querying metadata across the wire into
the memory
> cache.
>
> The metadata version is stored in a table IBO$SCHEMA_VERSION on
the server
> with a version number. IBO creates this table automatically if it
doesn't
> exist, but it doesn't put any data into it - that is up to the DBA
who
> makes the metadata changes. Your users will need to be granted
SELECT
> rights on this table.
>
> The connection object verifies once per connection that the local
cache has
> the same version number as the latest on the server. If it's not,
the
> connection object regenerates the cache, which will be a fairly
protracted
> process for your database. It's perfectly OK to deploy a pre-
built cache
> along with your client applications. Read up the help on the
> SchemaCacheDir property.
>
> Helen