How to Prepare Your Archive
- Gather all your DataFlex files (.DAT, .TAG, .FD/.DEF)
- Create a ZIP archive containing all files
- Ensure the ZIP file is under 2GB
- Upload the ZIP file below
DataFlex is an object-oriented database management system and 4GL programming language designed for business applications, originally developed by Data Access Corporation.
What You Can Upload
.DATdata files.TAG,.K*index files.FD,.DEFfield definition files.VLDvariable-length text data (memo fields)- ZIP archive with complete file sets
What You Get Out
DataMeans extracts your data into multiple modern formats:
| Output | Description |
|---|---|
csv/{TableName}.csv | One CSV file per table with all row data |
xlsx/{TableName}.xlsx | Excel workbook per table |
xls/{TableName}.xls | Legacy Excel format per table |
json/{TableName}.json | JSON array of records per table |
json/{TableName}.jsonl | Newline-delimited JSON (streaming-friendly) |
postgres.sql | PostgreSQL CREATE TABLE + INSERT statements |
schema/schema-graph.json | Relationship graph for visualization |
schema/er-model.json | ER model for diagram tools |
report.json | Structured extraction report |
report.md | Human-readable extraction summary |
How to Export / Obtain Files
- Locate your DataFlex application's data directory
- Copy all
.DATdata files - Include
.TAGfiles (contain field names) - Include
.VLDfiles (memo data) - Include
.FDor.DEFdefinition files if available - Create a ZIP with all files
- Upload the ZIP to DataMeans
Supported Features
- DataFlex 3.0 - 3.2 (DOS) and Windows versions
- Full table structure extraction
- Automatic data type mapping (ASCII, Numeric, Date)
- Index and key preservation
- Data validation and integrity checking
Known Limitations
- Memo fields with complex formatting may need review
- Some legacy character encodings may need adjustment
- Very large tables (1M+ rows) may take extended processing time
Last updated: January 2026
Overview
DataFlex is a fourth-generation language (4GL) and application development platform created by Data Access Corporation (now Data Access Worldwide) for building business database applications. It includes an embedded ISAM-style database engine that stores each table as a group of files sharing a common root name, while the same applications can also run against SQL backends such as Microsoft SQL Server, MySQL, and ODBC-accessible databases. DataFlex emphasizes rapid application development with its object-oriented 4GL, Data Dictionary classes that centralize business rules, and an integrated development environment for creating Windows and web software.
History and Background
- 1976: Data Access Corporation founded in Miami, Florida.
- 1981: DataFlex introduced at the COMDEX trade show as a 4GL for database applications.
- 1982: Initial commercial release; early versions run on CP/M, MS-DOS, TurboDOS, Unix, and VMS.
- 1987: DataFlex 2.3 emphasizes portability, running the same application code across CP/M, MS-DOS, and Unix systems.
- 1991: DataFlex 3.0 released with a modernized interface; variable-length data storage (
.VLDfiles) is introduced. - 1996: Visual DataFlex 4.0 released as the first Microsoft Windows version.
- 1998: DataFlex 3.2, the final character-mode release; the WebApp Server brings DataFlex applications to the web.
- 2007: Visual DataFlex 12.1 adds CodeJock-based visual controls and Office-style toolbars and menus.
- 2014: Visual DataFlex renamed DataFlex with release 18.0.
- 2017: DataFlex 2017 (19.0) adds JSON parsing support and mobile/web framework enhancements.
- 2019: DataFlex 2019 (19.1) adds an HTTP request handler for building REST and other HTTP services, plus web framework deep linking.
- 2021: DataFlex 2021 (20.0) introduces 64-bit compilation and full Unicode support.
- 2023: DataFlex 2023 (23.0) introduces FlexTron, embedding web controls in Windows desktop applications.
- 2024: DataFlex 2024 (24.0) adds the cWebDrawing vector-drawing web control and encrypted connections between application server nodes.
- 2025: DataFlex 2025 (25.0) adds dashboards, a navigation designer, and a web framework rewritten as ES6 classes.
File Format Specifications
The DataFlex embedded database stores each table as a group of operating-system files that share a common root name.
File Extensions:
.DAT: Primary data file containing the table header and record data.Knn: Index files (.K1,.K2, etc.), one per index, holding key values and record numbers.HDR: Optional header-integrity file used to repair a corrupted.DATheader.TAG: Text file listing the names of the table's columns, used by the Table Editor and other tools.VLD: Variable-length data file used when compression is enabled; the.DATfile then holds pointers into it
File Structure:
- Tables: One table per
.DATfile, identified by a common root name - Indexes: Key values plus record numbers stored in separate
.Knfiles - Header: Table definition held in the first 2,776 bytes of the
.DATfile - Records: String, number, and date columns are fixed-length; text and binary columns are variable-length
- Record Allocation: Row lengths are allocated in fixed steps (8–26 bytes, then a fixed series of increasingly spaced values from 28 to 256, then multiples of 128 bytes) up to the 16 KB maximum
- Limits: Up to 255 columns per table, 16,700,000 records per table, and a 16,384-byte maximum record size
- Column Names: Up to 32 characters, beginning with a letter, with underscore as the only punctuation permitted
- Filelist:
FILELIST.CFGmaps each table's file number, DataFlex name, display name, and physical name
Key Components:
- Embedded Engine: Self-contained table storage requiring no separate database server
- Table Editor: Visual tool for defining tables, columns, and indexes
- Data Dictionaries: Classes that centralize validation rules and business logic
- SQL Drivers: Connectivity for Microsoft SQL Server, IBM Db2, MySQL, and ODBC-accessible databases
- DataPump: Conversion tool that migrates embedded-format tables to SQL Server, MySQL, or PostgreSQL
- WebApp Server: Deployment platform for DataFlex web applications
Data Types and Structures
The DataFlex embedded database supports five physical data types, plus a legacy logical overlap type:
| Type | Size | Description | Use Cases |
|---|---|---|---|
| ASCII | Up to 255 bytes | Fixed-length character data | Names, codes, descriptions |
| NUMERIC | Fixed (BCD) | Packed decimal storing two digits per byte; a three-byte column holds values up to ±999,999 | Amounts, quantities |
| DATE | 3 bytes | Date stored as a Julian day integer | Transaction dates |
| TEXT | Variable, up to 16 KB | Long ASCII text with a two-byte length header | Notes, memos |
| BINARY | Variable, up to 16 KB | Binary data with a two-byte length header | Images, documents |
| OVERLAP | No storage | Virtual column over contiguous physical columns | Multi-column relationships |
Database Objects:
- Tables: Primary data containers with columns and records
- Indexes: Up to 15 per table, each stored in its own
.Knfile, with up to 16 segments per index and a 256-byte maximum key length - Relationships: Parent-child links between table columns, enforced through Data Dictionaries
- Data Dictionaries: Reusable classes holding validation and business rules for each table
- Filelist Entries: Numbered table registrations used by the compiler and runtime
- Workspaces: Configuration grouping an application's source, data, and filelist locations
Version Differences
| Version | Year | Key Features | File Format |
|---|---|---|---|
| DataFlex 2.3 | 1987 | Portable applications across CP/M, MS-DOS, Unix | .DAT tables with .Kn index files |
| DataFlex 3.0 | 1991 | Modernized interface | Adds .VLD variable-length data files |
| Visual DataFlex 4.0 | 1996 | First Windows version | No embedded format change |
| DataFlex 3.2 | 1998 | Final character-mode release | Maximum .DAT size raised from 2 GB to 4 GB (1999 revision) |
| Visual DataFlex 12.1 | 2007 | CodeJock visual controls, Office-style toolbars | No embedded format change |
| DataFlex 18.0 | 2014 | Product renamed from Visual DataFlex | No embedded format change |
| DataFlex 19.0 | 2017 | JSON parsing, mobile/web framework additions | No embedded format change |
| DataFlex 19.1 | 2019 | HTTP request handler for REST services, deep linking | No embedded format change |
| DataFlex 2021 (20.0) | 2021 | 64-bit compilation, full Unicode | OEM tables deprecated; ANSI/Unicode becomes standard |
| DataFlex 2022 (20.1) | 2022 | cWebView2Browser control wrapping the Edge WebView2 engine | No embedded format change |
| DataFlex 2023 (23.0) | 2023 | FlexTron web controls in desktop applications | No embedded format change |
| DataFlex 2024 (24.0) | 2024 | cWebDrawing vector control, encrypted server-node connections | No embedded format change |
| DataFlex 2025 (25.0) | 2025 | Dashboards, navigation designer, ES6 web framework | No embedded format change |
Compatibility Notes:
- OEM-format tables are retained for backward compatibility; vendor guidance is to convert them to ANSI/Unicode from DataFlex 2021 (20.0) onward
- The maximum size of a
.DATfile was raised from 2 GB to 4 GB in 1999 for DataFlex 3.2 and Visual DataFlex 6 - When compression is enabled, the
.DATfile holds only pointers, so.DATand.VLDfiles must be kept synchronized in backups - Overlap columns are obsolete; multi-segment relationships replaced them in DataFlex 11.0
- Later filelist revisions support up to 4,095 table entries, up from 255 in older revisions
- Applications using the embedded database can be moved to SQL backends through DataFlex's SQL drivers
Technical References
- DataFlex Documentation
- Wikipedia: DataFlex
- Logical Structure of a Database File
- DataFlex File Extensions (Database Managers)
- Data Access Worldwide Forums
To learn how to use this format with DataMeans, see the User Guide.