Board index » delphi » Invalid index Descriptor !!?!?!?!?!?

Invalid index Descriptor !!?!?!?!?!?

Has anyone ever seen an "invalid index descriptor" erro and know how to
handle it or at least what it is ???

I keep getting it while trying to open a foxpro2.5 table. I cant even
set the active property to true.

I am using the BDE native foxpro drivers and thy seem fine on all but 4
of my tables.  Surprise surprise - guess which 4 tables I need.

Any help on this matter would be greatly appreciated
Ta

Chriso

Sent via Deja.com http://www.deja.com/
Share what you know. Learn what you don't.

 

Re:Invalid index Descriptor !!?!?!?!?!?


Quote
On Mon, 30 Aug 1999 07:23:27 GMT, chris...@my-deja.com wrote:
>Has anyone ever seen an "invalid index descriptor" erro and know how to
>handle it or at least what it is ???

>I keep getting it while trying to open a foxpro2.5 table. I cant even
>set the active property to true.

>I am using the BDE native foxpro drivers and thy seem fine on all but 4
>of my tables.  Surprise surprise - guess which 4 tables I need.

I believe the most likely cause of this error given the circumstances you
describe would be use of a UDF or a FoxPro-only function in an expression
index.

In these four tables, what indexes do they have? Especially, what
expression indexes? Look carefully at the syntax used in the expression for
any index. The BDE cannot use expression indexes with User-Defined
Functions (UDFs) or FoxPro-only functions.

_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
Steve Koterski              "Health nuts are going to feel stupid someday,
Felton, CA                  lying in hospitals dying of nothing."
                                                              -- Redd Foxx

Re:Invalid index Descriptor !!?!?!?!?!?


Thanks :)

Excellent - you were right - we(you really but hey gimme some credit)
have discovered the source of my problem - so tell me

HOW IN THE HECK DO I FIX IT ?????

All right obvious solution - change the indexes right ??? WRONG - cant
touch the database at all :(  I can read from it and thats about it.

By the way - I want to kill the person who desinged the database but
thats a whole other story.

Any help would be appreciated

Chriso

Sent via Deja.com http://www.deja.com/
Share what you know. Learn what you don't.

Re:Invalid index Descriptor !!?!?!?!?!?


Quote
On Tue, 31 Aug 1999 00:31:16 GMT, chris...@my-deja.com wrote:
>Excellent - you were right - we(you really but hey gimme some credit)
>have discovered the source of my problem - so tell me

>HOW IN THE HECK DO I FIX IT ?????

>All right obvious solution - change the indexes right ??? WRONG - cant
>touch the database at all :(  I can read from it and thats about it.

>By the way - I want to kill the person who desinged the database but
>thats a whole other story.

There is no fixing it per se. There is only attempts to avoid the problem.
As the BDE does not support UDFs or FoxPro functions in the index
expressions, you cannot open the table using the BDE to delete the
offending indexes -- as long as the indexes exist. It also sounds like you
are unable to use the table in FoxPro to eliminate the problem indexes.

If you know what indexes you would need in the Delphi application:

1. Make a copy of the .DBF file in another directory. Do not copy the
   production index file (.CDX).

2. Open the .DBF file as a simple binary file and toggle the byte in the
   header indicating a production index file to indicate no production
   index file. Not sure about FoxPro tables, but in dBASE tables this
   means toggling byte 28 from 01h to 00h.

3. Open the file in Delphi as a table and use Delphi methods to create
   the indexes you need. In these indexes, avoid using either UDFs or
   FoxPro-only functions in expression indexes.

_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
Steve Koterski              "Health nuts are going to feel stupid someday,
Felton, CA                  lying in hospitals dying of nothing."
                                                              -- Redd Foxx

Re:Invalid index Descriptor !!?!?!?!?!?


Thanks heaps for your help.

SO we know the problem and there is no solution :(
Oh well

You see if it was MY database I would just fix the indexes but well its
not so I cant and its a live multi-user system so I cant just go making
copies or doing any "dodgy" changes on the bytes in them.

So if you have any (and I mean any) ideas then please let me know how I
can fix it :)

Thanks again anyhow
Chriso

Sent via Deja.com http://www.deja.com/
Share what you know. Learn what you don't.

Re:Invalid index Descriptor !!?!?!?!?!?


Quote
On Wed, 01 Sep 1999 00:49:43 GMT, chris...@my-deja.com wrote:

[...]

Quote
>So if you have any (and I mean any) ideas then please let me know how I
>can fix it :)

The only two things I can think of are:

1. An alternative database engine. Replace the BDE with a third-party data
   engine, one that supports these FoxPro features.

2. Access the data files using a FoxPro ODBC driver.

_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/
Steve Koterski              "Health nuts are going to feel stupid someday,
Felton, CA                  lying in hospitals dying of nothing."
                                                              -- Redd Foxx

Other Threads