Thunder.Dbf
0.2.0
dotnet add package Thunder.Dbf --version 0.2.0
NuGet\Install-Package Thunder.Dbf -Version 0.2.0
<PackageReference Include="Thunder.Dbf" Version="0.2.0" />
<PackageVersion Include="Thunder.Dbf" Version="0.2.0" />
<PackageReference Include="Thunder.Dbf" />
paket add Thunder.Dbf --version 0.2.0
#r "nuget: Thunder.Dbf, 0.2.0"
#:package Thunder.Dbf@0.2.0
#addin nuget:?package=Thunder.Dbf&version=0.2.0
#tool nuget:?package=Thunder.Dbf&version=0.2.0
Thunder.Dbf
.-----.
/ / ProjectThunder :: Thunder.Dbf
/ /__ dBASE . FoxPro . Clipper, in pure .NET
/__ /
/ /
/ /
//
'
Put a safe, modern app on top of a legacy dBASE or FoxPro system, while the legacy app keeps running on the same files.
Thunder.Dbf reads and writes xBase tables, memos and indexes exactly as the old apps expect, takes the same locks they do, and never needs ODBC, OLE DB, Jet or a 32-bit process. It has no dependencies and runs on Windows, Linux and macOS.
dotnet add package Thunder.Dbf
using Thunder.Dbf;
using var db = DbfDatabase.Open(@"\\server\goldmine\data"); // read-only unless you say otherwise
Console.Write(db.Check()); // what's readable, writable, locked or damaged
var contacts = db["CONTACT1"];
using var index = contacts.OpenProductionIndex()!;
var acme = contacts.Seek(index["CONTCOMP"], "ACME"); // like dBASE's SEEK, through the app's own index
What it does
- Tables: dBASE III and IV, FoxPro 2 and Visual FoxPro, including nulls, autoincrement and over 60 code pages.
- Memos:
.dbtand.fpt. - Indexes: dBASE IV
.mdx, dBASE III.ndxand Clipper.ntxread and kept exact on every write; FoxPro.cdx/.idxread and seek, and kept up to date as an opt-in preview.INDEX ONfor.mdx, andPACK. - Typed records and LINQ:
ReadAll<T>(),AsQueryable<T>()with seeks through.mdxtags. - Locking: record and table locks at dBASE, Clipper or Visual FoxPro offsets, so writes coexist with the legacy app.
- ADO.NET provider:
DbfConnection,DbfCommandandDbfDataReaderwith parameterized SQL. - CSV: import with the table's shape worked out from the data, and spreadsheet-safe export.
- Safe by default: read-only unless you ask, errors that never leak paths, and hostile files that can't crash or hang the process.
Learn more
- Getting started
- All the guides: connecting, reading and writing, indexes, locking, durability, CSV, ADO.NET, security
- Source, samples and issues
- Related packages: Thunder.Dbf.Sql for SQL migration and live sync, and the thunder-dbf command-line tool
MIT licensed. Made by ProjectThunder.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net10.0
- No dependencies.
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Thunder.Dbf:
| Package | Downloads |
|---|---|
|
Thunder.Dbf.Sql
Migrate dBASE, FoxPro and Clipper DBF tables to SQLite, SQL Server or PostgreSQL, and keep them in sync both ways while the legacy app keeps running. |
GitHub repositories
This package is not used by any popular GitHub repositories.