• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 759
  • Last Modified:

Advantage Server Error 3111 HELP

I have an legacy application that I don't have the code for so I cannot debug it.  I'm getting the folllowing advantage server 9.1 error

Ads Error 3111:  Source Aof.c

I've looked up there error and see the following, but I can't find what this is.  I'm not an advantage expert by any means, but its server our foxpro tables and my billing application is no longer working

Unknown identifier found in the record filter expression

  • 4
1 Solution
Olaf DoschkeSoftware DeveloperCommented:
If it's a legacy foxpro app, makes me wonder what it has to do with advantage database container. While I know ADS can be used to "serve" DBFs, a legacy app will not know it at all and would work on the DBFs directly. I can only make assumptions,  that ADS is having problems with a filter expression, as it does not support the whole foxpro language, even not the old foxpro functions available within native data access.

Bye, Olaf.
anderdw2Author Commented:
Strange is we haven't had any problems in two years up until this week.  I know nothing about AOF, from what I read they shoulld clear when a table is closed after an update
anderdw2Author Commented:
I do see this listed on advantage, but I have no idea where to set this property to test.


Advantage TDataSet Descendant

Indicates whether or not to use the Advantage Optimized Filters.

property AdsTableOptions.AdsOptimizedFilters;

This property indicates whether or not to use the Advantage Optimized Filters and affects how the filter property is implemented. By default this is True.

Advantage Optimized Filters (AOFs) provide state of the art filter optimization for Advantage Client Engine applications. AOFs speed filter processing by using index keys instead of table records. If a specified field has an index built on it, then an AOF uses the index file rather than the table to process the query. Performance is increased by reducing the amount of data that must be retrieved from the disk.

Note By setting this property to True, AOFs will be used for any procedures, functions, methods, or properties that use filters.
Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

Strange is we haven't had any problems in two years up until this week.

Then the Standard question comes up - What was Changed?

Can you go back and test if the problem was caused by the change itself?

Good Luck

anderdw2Author Commented:
It was a corrupt index.  Reindex didn't solve the problem under we wipes the CDX file and started over.

I do wish advantage would give more errors
anderdw2Author Commented:
An initial reindex didn't solve the problem.  We went back and recreated the index from scratch, so perhaps the cdx file was corrupt

Featured Post

Important Lessons on Recovering from Petya

In their most recent webinar, Skyport Systems explores ways to isolate and protect critical databases to keep the core of your company safe from harm.

  • 4
Tackle projects and never again get stuck behind a technical roadblock.
Join Now