Hi,
We are an ISV, building ArcGIS extensions. I recently implemented a lot of automated tests for our solution. All our tests are passing. However, some tests do fail with the following error:
System.Runtime.InteropServices.COMException : Table 'DELTA_xxxx' does not exist
Where xxxx is the name of a table in our geodatabase. Those failing tests do pass if executed one at a time. While we could just do it, we would like to make sure that the issue is just in our test environment (database, setup code, etc.) and not in our runtime code. From recent testing, that error does not seem to pop up in manual testing.
It is impossible to post any code since our solution is quite large (millions of lines of code, VB6, C++ and C#). However, what I am looking for here is a pointer. We have heard that it could be related to an ICursor not COM released properly. Given the fact that those failing tests only fail if executing after another test, this seems plausible.
Have others seen such issues in the past? Any idea what can be causing this?
Our setup:
Your error occurs on:
ITable.Search(
IQueryFilter queryFilter,
Bool recycling
);
Often times, errors occur here because of the syntax used in the QueryFilter. One common mistake is misuse of double and single quotes when constructing the WHERECLAUSE of the queryFilter. You should use single quotes around actual values, and double quotes around the entire WHERECLAUSE. See below for an example:
queryFilter.WhereClause = " TYPE = 'Restaurant' ";
More information on querying geodatabases using ArcObjects can be found here: