TdaMetaCache.GetFields: unable to find table in cache
Hello,
I have a working end-user reporting app written with Delphi 6 and
ReportBuilder Pro version 7.
I now am trying to upgrade the app and am using Delphi 2007 with
ReportBuilder 12.03.
I am using Firebird 1.5 as my database with IBObjects as the data access
components.
I opened the application, compiled it and run it. Existing reports will
run ok. But when I go to the data tab, I get the error
TdaMetaCache.GetFields unable to find table. . . in cache.
My DataSettings are:
database type: dtInterbase. I have tried channging to dtFirebird with
similar results.
SessionType: IBOSession
SQLType: sqSQL2
What can I do to correct this?
Thanks for your help,
Phil Horst
I have a working end-user reporting app written with Delphi 6 and
ReportBuilder Pro version 7.
I now am trying to upgrade the app and am using Delphi 2007 with
ReportBuilder 12.03.
I am using Firebird 1.5 as my database with IBObjects as the data access
components.
I opened the application, compiled it and run it. Existing reports will
run ok. But when I go to the data tab, I get the error
TdaMetaCache.GetFields unable to find table. . . in cache.
My DataSettings are:
database type: dtInterbase. I have tried channging to dtFirebird with
similar results.
SessionType: IBOSession
SQLType: sqSQL2
What can I do to correct this?
Thanks for your help,
Phil Horst
This discussion has been closed.
Comments
Sorry for the late reply. Is this happening at design time or runtime? The
metadata cache is created once DADE connects to your datasets and then is
used to speed up the process of creating queries. If the cache is empty or
does not contain the correct table names, DADE must be having issues
connecting to your database.
Regards,
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com
Thanks for your reply.
This happens at runtime. Any pointers regarding how to figure out the
connection problem? It seems odd since the same application(using
earlier versions of Delphi and Report Builder works fine.
Phil
Thanks for the information. Take a look at the following article on what
might be causing this error and how you might fix it.
http://www.digital-metaphors.com/rbWiki/DADE/MetaData/TdaMetaCache_Errors
Regards,
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com
I had seen that article and I already had configured the Designer
DataSettings.DatabaseName to point to the IBObjects database object.
I am not sure how or when one might use the gMetaDataManager.Clear
method. I tried using this just before connecting to the database.
Nothing has helped so far.
Thanks,
Phil
Are you using the DataDictionary?
As a test, try tracing into the RB source and see if you can find out where
the problem is occurring. Start in the TdaMetaData.GetFields routine in the
daMetaData.pas file and move from there to the PopulateCacheTables routine.
Then trace into the IBO plugin daIBO taking a look at the
TdaIBOSession.GetTableNames routine to be sure it is actually getting a list
of tables. If so, keep tracing to find out where the discrepancy might
exist.
Regards,
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com
Nico Cizik
Digital Metaphors
http://www.digital-metaphors.com