0
votes

I am trying to convert an old Dbase application to .NET / MS SQL.

I had no problems getting a linked server up and running so that I could get the Dbase DBF data into SQL table format, but in cross checking with the original application I noticed that there was dbase 'memo' field data which does not import, because this data is stored in a seprate 'FlexFile 3' format in a corresponding .DBV file. i.e. orders.dbf / orders.dbv

I have tried using Microsoft.Jet.OLEDB.4.0 provider with extended prpoerties =dBase 5.0 the problem with this is memo fields come up as empty string. The code reads the file well if there is a orders.dbf and orders.dbt file.

I have spent a lot of time on internet to find solution but no luck! Appreciate any help on this topic in this forum.

Thanks.

1

1 Answers

0
votes

Two possible solutions: First, if you have an clipper compiler with the flexfile library, you can write a small converter program (found that hint on a delphi site in german language)

Second, you have to analyze how the pointer in the DBF file is used: Basically, a memo file always have to be somehow a pointer to a block of data in another file (the details differ between different implementations of a memo field). Once you have found the style of the pointer (byte address, or maybe a block address, either written in human readable value or binary encoded) you have to read the dbv file.

Should not be a great task