SunAuto.MdbReader
1.0.0
dotnet add package SunAuto.MdbReader --version 1.0.0
NuGet\Install-Package SunAuto.MdbReader -Version 1.0.0
<PackageReference Include="SunAuto.MdbReader" Version="1.0.0" />
paket add SunAuto.MdbReader --version 1.0.0
#r "nuget: SunAuto.MdbReader, 1.0.0"
// 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 | Versions 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. |
-
.NETStandard 2.1
- MMKiwi.Collections (>= 0.2.1)
- System.Collections.Immutable (>= 8.0.0)
- System.Linq.Async (>= 6.0.1)
- System.Text.Encoding.CodePages (>= 8.0.0)
-
net6.0
- MMKiwi.Collections (>= 0.2.1)
- System.Collections.Immutable (>= 8.0.0)
- System.Linq.Async (>= 6.0.1)
- System.Text.Encoding.CodePages (>= 8.0.0)
-
net7.0
- MMKiwi.Collections (>= 0.2.1)
- System.Linq.Async (>= 6.0.1)
- System.Text.Encoding.CodePages (>= 8.0.0)
-
net8.0
- MMKiwi.Collections (>= 0.2.1)
- System.Collections.Immutable (>= 8.0.0)
- System.Linq.Async (>= 6.0.1)
- System.Text.Encoding.CodePages (>= 8.0.0)
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 | 164 | 7/16/2024 |