SunAuto.MdbReader 1.0.0

dotnet add package SunAuto.MdbReader --version 1.0.0                
NuGet\Install-Package SunAuto.MdbReader -Version 1.0.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="SunAuto.MdbReader" Version="1.0.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add SunAuto.MdbReader --version 1.0.0                
#r "nuget: SunAuto.MdbReader, 1.0.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.
// Install SunAuto.MdbReader as a Cake Addin
#addin nuget:?package=SunAuto.MdbReader&version=1.0.0

// Install SunAuto.MdbReader as a Cake Tool
#tool nuget:?package=SunAuto.MdbReader&version=1.0.0                

MdbTools in C#

An apparent bug exists in repository this is branched from. Until that issue can be addressed, I have forked this for use by this organization. The issue has been addressed in this fork, but only so that it works for the requirements of this organization. If the bug is addressed in the original repository, then this fork will be scuttled.

Currently pre-pre alpha, can read table definition and row values. Loosely based on MdbTools (https://github.com/mdbtools/mdbtools) and deeply indebted to their work documenting the mdb format (https://github.com/mdbtools/mdbtools/blob/dev/HACKING.md)

Current Status

The library is currently read-only and cannot modify databases at all. It has support for both Jet3 and Jet4-style databases. (Any version of access later than 1995). It has not been thoroughly tested and should not be used in production code. It features heave use of Span<byte> to ensure that there are no buffer overruns, but it may crash on some databases.

Indices are not currently supported, but may be at a future time. Indices are not required to read the data in the table. Rows can be enumerated one-by-one. There is no querying or indexing supported besides the standard extensions to IEnumerable in .NET.

For an example of the API, see the test/MdbCreateJson folder.

This library is developed for .NET 7, but had polyfills to run (with slightly worse memory usage and performance) on earlier versions through .NET standard 2.1. The library is written entirely in C# and does not have any specific OS requirements. It has been coded so that it should perform correctly on big-endian systems, but this has not yet been tested.

Roadmap

  • Improve unit testing
  • Support for writing
  • Test on big-endian system
Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 is compatible.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 is compatible.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.1 is compatible. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.0.0 152 7/16/2024