Thunder.Dbf.Sql
0.2.0
dotnet add package Thunder.Dbf.Sql --version 0.2.0
NuGet\Install-Package Thunder.Dbf.Sql -Version 0.2.0
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Thunder.Dbf.Sql" Version="0.2.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Thunder.Dbf.Sql" Version="0.2.0" />
<PackageReference Include="Thunder.Dbf.Sql" />
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Thunder.Dbf.Sql --version 0.2.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: Thunder.Dbf.Sql, 0.2.0"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Thunder.Dbf.Sql@0.2.0
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Thunder.Dbf.Sql&version=0.2.0
#tool nuget:?package=Thunder.Dbf.Sql&version=0.2.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
Thunder.Dbf.Sql
______ ______
| .dbf | -> | SQL | ProjectThunder :: Thunder.Dbf.Sql
|______| <- |______| Legacy tables in SQLite, SQL Server or PostgreSQL.
Copy dBASE and FoxPro tables into a SQL database, then keep a live two-way bridge between each DBF table and its SQL twin until cut-over day. Works through any ADO.NET provider. Built on Thunder.Dbf.
dotnet add package Thunder.Dbf.Sql
using Microsoft.Data.Sqlite;
using Thunder.Dbf;
using Thunder.Dbf.Sql;
using var db = DbfDatabase.Open(@"C:\legacy\data"); // only read, never changed
using var sqlite = new SqliteConnection("Data Source=legacy.db");
sqlite.Open();
var result = DbfMigrator.Migrate(db, sqlite, SqlDialect.Sqlite);
Console.WriteLine($"{result.Rows:N0} rows copied in {result.Elapsed.TotalSeconds:0.0} s");
For SQL Server or PostgreSQL, use their ADO.NET providers with SqlDialect.SqlServer or SqlDialect.PostgreSql.
Live sync
DbfBridge moves changes both ways, in one serializable SQL transaction per sync, with a conflict policy for rows changed on both sides:
using var table = DbfTable.Open(@"C:\legacy\data\CONTACT1.DBF", writable: true);
var bridge = new DbfBridge(table, sqlite, SqlDialect.Sqlite, "CONTACT1");
var changes = bridge.Sync(); // call it on a timer
Learn more
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. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net10.0
- Thunder.Dbf (>= 0.2.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.