FoxPro
MySQL

FoxPro / DBF to MySQL Converter

Move legacy Visual FoxPro databases or standalone DBF, dBase, Clipper, and XBase files into MySQL, MariaDB, Amazon RDS, or Azure Database for MySQL. Schema and data conversion with optional two-way sync.

A DBF or Visual FoxPro database lives as a folder of files on a desktop or server share - .dbf tables, .fpt memo companions, .cdx indexes, and (for VFP) a .dbc container.

Migrating that file set into MySQL replaces DBF's single-user file-locking model with concurrent server access and managed-cloud hosting (RDS / Aurora / Azure Database / Cloud SQL).


What DBConvert does on this path: handles the legacy DBF move as a repeatable desktop workflow:

  • Reads Visual FoxPro .dbc databases, standalone DBF tables, dBase, Clipper, XBase, and FoxBase sources - picking up companion .fpt memo files alongside each .dbf.
  • Creates MySQL-compatible tables and migrates records, with type-mapping review and code-page re-encoding to utf8mb4.
  • Writes to MySQL, MariaDB, Percona Server for MySQL, Amazon RDS / Aurora for MySQL, Azure Database for MySQL, or Google Cloud SQL for MySQL.
  • Saves the job as a repeatable session so test migrations can be rerun before the final cutover; DBSync keeps both sides aligned during a staged cutover.

What it does not do: DBConvert does not rewrite FoxPro forms, reports, menus, .prg programs, or application business logic into a MySQL application layer.

Which tool: DBConvert or DBSync?

DBConvert for DBF → MySQL

One-time migration or a repeatable saved session. Use it when MySQL or MariaDB is becoming the system of record and you need DBF/FoxPro structures, table data, type mapping, and cloud target support in a desktop wizard.

DBSync for DBF ↔ MySQL

Staged cutover. Use it when the legacy DBF/FoxPro source must stay operational while MySQL is populated, tested, or read by a new web application or reporting layer. Review synchronization concepts.

Need more context? Compare DBConvert and DBSync side by side →

How DBConvert handles the DBF/FoxPro → MySQL differences

DBConvert handles the DBF/FoxPro table move in the wizard: source shape, companion files, indexes, encoding, identity policy, and MySQL output. FoxPro application logic remains a separate rewrite track.

Source shape

DBConvert reads Visual FoxPro .dbc containers or folders of free .dbf tables; pick the source shape at the connect step.

Companion files

Keep .fpt memo files and related index files with the source folder so Memo, General, and index metadata travel with the table set.

Indexes and deleted rows

DBConvert translates portable DBF index definitions and lets you choose whether rows marked for deletion should be included on the MySQL target.

Encoding and identity

Legacy DOS / Windows code pages are re-encoded to MySQL utf8mb4, and FoxPro AutoInc columns map to MySQL AUTO_INCREMENT.

Application objects boundary

DBConvert migrates tables, views, and foreign keys. Forms, reports, .prg programs, menus, and FoxPro business logic are rebuilt as a separate application workstream.

Type mapping checkpoints

FoxPro / DBF MySQL Notes
Character (C) VARCHAR(n) Trim source-side trailing spaces before keys / joins.
Varchar (V, VFP) VARCHAR(n) Direct mapping.
Memo (M) LONGTEXT Companion .fpt file must be present.
General (G), Picture (P) LONGBLOB Binary OLE / image data; companion file required.
Numeric (N) / Currency (Y) DECIMAL(p,s) Currency preserves 4-decimal precision.
Integer (I) / Integer (AutoInc) INT / INT AUTO_INCREMENT AutoInc lands as AUTO_INCREMENT on PK.
Float (F) / Double (B) FLOAT / DOUBLE Direct.
Date (D) DATE Blank legacy dates become NULL on the target.
DateTime (T) DATETIME Not MySQL TIMESTAMP (range / TZ semantics).
Logical (L) TINYINT(1) True / false / blank values checked at load.

DBConvert vs other DBF → MySQL routes

Free routes cover narrow slices: the MySQL Workbench Migration Wizard via ODBC, a CSV export, an ETL pipeline. They stop at the boundary where DBF code pages, memo companions, and per-column type decisions need a MySQL answer - which is most of the actual migration project.

Route Where it fits Where it falls short
MySQL Workbench Migration Wizard free, MySQL-vendor via Generic RDBMS + ODBC Free vendor route for teams already on MySQL Workbench. Fragile Visual FoxPro ODBC / OLE DB driver setup on 64-bit Windows; coarse generic type mapping; no saved repeatable session.
Manual CSV export + LOAD DATA INFILE free, scripted Tiny DBF databases with no memo or general columns. Memo / General fields don't pass through CSV; code-page text becomes mojibake; deleted records and blank dates need bespoke handling.
Pentaho Data Integration open-source ETL platform Teams already running PDI / Kettle who want the DBF load as one step in a bigger pipeline. Heavy setup for a one-time move; no DBF-to-MySQL schema converter, no type-mapping review - you define every rule by hand.
DBConvert / DBSync commercial desktop, Windows Desktop wizard for DBF / Visual FoxPro → MySQL with per-table type-mapping review, automatic memo-file pickup, code-page re-encoding to utf8mb4, saved sessions for repeated test migrations, scheduler, and CLI. Writes to MySQL, MariaDB, Percona, Amazon RDS / Aurora for MySQL, Azure Database for MySQL, and Google Cloud SQL. DBSync keeps both sides aligned during a staged cutover. Commercial license; desktop tool (Windows). FoxPro forms, reports, .prg programs, and application logic do not convert - that layer is rebuilt in the new web / framework / BI front end either way.

The free routes do the data copy, not the migration. A DBF-to-MySQL project spends most of its time on Memo / General column handling, code-page re-encoding, blank-date policy, deleted-record decisions, and AutoInc rewiring. DBConvert puts each of those decisions in a reviewable wizard, saves the session so test loads are rerunnable, and adds DBSync when the legacy FoxPro source must keep running during the cutover. That is what the commercial license buys - not "data copy", which the free routes can already do for trivial DBF files.

Supported versions

  • Visual FoxPro .dbc databases and standalone DBF tables
  • Free tables (DBF without .dbc container) and Memo (.fpt) files
  • MySQL 5.x, 8.x; MariaDB; Percona Server
  • Amazon RDS / Aurora MySQL, Azure Database for MySQL, Google Cloud SQL

Supported in this path

Source FoxPro
Target MySQL
Visual FoxPro DBF / dBase free tables Clipper / XBase DBF MySQL MariaDB Percona Server for MySQL Amazon RDS for MySQL Amazon Aurora MySQL Azure Database for MySQL Google Cloud SQL for MySQL

Using FoxPro to MySQL Tools

When launching the DBConvert or DBSync application in GUI mode, it guides you through the steps to start database migration or synchronization:

1

Connect to FoxPro source database

Specify the username/password and host/port parameters if your source database requires login credentials.

Connect to FoxPro source database from DBConvert

FoxPro source

Select a Visual FoxPro .dbc database or a folder of free DBF tables. Keep .fpt memo and .cdx index files with the source folder so DBConvert can read the full table set.

2

Connect to MySQL destination database

Specify parameters for the destination database similar to the source, defining connection settings and username/password pairs.

Connect to MySQL target database from DBConvert

MySQL target

Use the MySQL connection guide for local MySQL or MariaDB, or Amazon RDS / Aurora for MySQL, Azure Database for MySQL, or Google Cloud SQL for MySQL. Create the target schema as utf8mb4.

Next steps: configure, validate, run

After connecting source and target, the remaining steps are the same for every database pair:

  • Configure migration options - pick tables, fields, indices, views.
  • Issue detection - the built-in checker flags integrity problems before migration starts.
  • Execute - commit the job, monitor progress, save the session for reuse.
  • Schedule and CLI - rerun saved sessions on a schedule or from the command line.
Open the full guide

Steps 3-5, software features, command-line mode, scheduler, and system requirements.

See all features