We are testing the ADS system to see if this could be a solution for the long term. We already played a lot with it, and tested with the advantage architect.
Since we have some specific problems we needed to solve, as a lot of UDF's in indexkeys, we explored the system of triggers and so on. Our search system which is based on 'fread' of the NTX files, was solved with the use of FTS indexes. To use them we need to move to DBFCDX of the real stuff, the ADT and ADI tables. We thought it would be the best to move to the real advantage tables.
This is giving us problems with the indexes. We even don't succeed to open an ADT table with a USE command. If we use the ADS functions, we can open the ADT tables with Xbase++. With the standard Xbase commands, we don't succeed. Anyone who can confirm that the USE is working with ADT tables?
We have in our data architect a DBF file and the same data converted as ADT. In the same testprogram we can open the DBF file, but we can't open the ADT file. Only when we use the ADS function the ADT file opens without problem. If this is true, we can't use the ADT files.
Another problem is creating the indexes. With ADI files the index key is just the list of fields. We have a field Type, Journal and Number. In Xbase we do index on 'Type+journal+str(number,6)'. For the ADI index we have to say 'Type;Journal;Number'. If journal is empty, then this is seen as a NULL value. This means that our DBSEEK() isn't working anymore. This would mean that the ADI index system isn't compatible with Xbase++ at all.

Code: Select all
DbeSetDefault( "ADSDBE" )
nHandle := 0
nError := AdsConnect60("Aboservice.add", ADS_REMOTE_SERVER+ADS_LOCAL_SERVER, 'adssys', , ADS_DEFAULT, @nHandle)
nTable := 0
AdsOpenTable(nHandle,"fakt_000",,ADS_DEFAULT,,,,ADS_DEFAULT,@nTable)
Anyone with experience with this problem?