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
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.
What can I convert DataFlex files to?
DataMeans converts DataFlex files to clean CSV, Excel, JSON & SQL. Each table is exported as its own file, alongside a structured report of exactly what was extracted.
Do I need DataFlex installed to open my files?
No. DataMeans reads DataFlex files directly, so you don't need DataFlex, a license, or any other legacy software to recover your data.
Can I preview my DataFlex data before paying?
Yes. DataMeans shows your extracted tables and rows in the browser first, so you only pay when you're ready to download the full CSV, Excel, JSON & SQL export.
Is my data secure?
Yes. Your files are encrypted in transit and at rest, and are automatically deleted once your conversion is complete. Your data is never sold, shared, or used for anything else.