Originally posted by Cindy Winegarden Microsoft Visual FoxPro MVP:
Start with the latest ODBC driver for FoxPro and Visual FoxPro, available
from
http://msdn.microsoft.com/vfoxpro/downloads/addons/odbc.asp. Download and
install it. (If you have trouble doing this, post back.)
You will need to determine whether you have FoxPro "free" tables or a
"database container" (contains metadata about the tables themselves). To do
this, navigate to your data directory and look for the presence of a DBC
file. If it's there you have a "database" otherwise you have free tables.
Now open up the ODBC dialog. In WinXP it's Start | Administrative Tools |
Data Sources (ODBC). Choose either the User DSN or the System DSN. (The
difference lies in whether you want other people to be able to see it if
they use your machine.)
Click Add... Scroll down to the Microsoft Visual FoxPro Driver. Scroll over
to verify that it's version 6.01.8629.01. Click Finish.
Now you're at the ODBC Visual FoxPr Setup dialog. In the first box (Data
Source Name) enter a friendly name that you will use to recognise this data
source - My FoxPro Data Source. You can add more text in the description
box.
Below are two options. Choose Visual FoxPro database (.DBC) or Free Table
Directory - whichever you have determined is correct.
Browse to locate your directory, or your specific DBC file.
You can click the Options>> button for more choices. The defaults should be
ok. "Exclusive" refers to whether you want to have exclusive access to the
data while you're using it. "Null" allows you to enter Null values or not.
Older FoxPro tables do not allow Nulls. "Deleted" means to hide deleted
records. This one's important if you are working with primary keys - more in
a minute. "Fetch data in background" will allow you to see the first few
lines of a large tablel while the rest is being retrieved. You can also
indicate a collating sequence if you're using a non-English alphabet.
Click OK and you're done.
Now, about deleted records. When a record is deleted in a FoxPro or Visual
FoxPro table it's merely marked as deleted and filtered out, but is still
physically present in the table. If you have a unique index and you delete
the record with a key value of 123 you can not enter another record with
this value, even though you can't see the record. To get rid of records
entirely, you must issue a PACK command. However, the best rule to follow is
to not reuse primary keys.