Pervasive or Btrieve data stores their data in a long string, Data Definition Files (ddf) (either external or internal) are then used by applications to split this data in their respective fields.
When reading data, if the data string being read is longer than the files definition Pervasive/btrieve will display an ERROR 22: Data Buffer.
The reason for this error within the PDI product range that use Pervasive/btrieve are nearly always done to the incorrect version of the application opening a newer data-source.
For example you may have an application developed for Pastel 18 and are now trying to access Pastel 19. Or the data structure has changed between version, so your application was designed for use with Pastel 18, but you now have version 19 installed. As the data has changed in certain files and is now longer you will now need to update to the latest version of the PDI product that matches your data-source.