MMKiwi.MdbReader
0.1.0-beta1
dotnet add package MMKiwi.MdbReader --version 0.1.0-beta1
NuGet\Install-Package MMKiwi.MdbReader -Version 0.1.0-beta1
<PackageReference Include="MMKiwi.MdbReader" Version="0.1.0-beta1" />
paket add MMKiwi.MdbReader --version 0.1.0-beta1
#r "nuget: MMKiwi.MdbReader, 0.1.0-beta1"
// Install MMKiwi.MdbReader as a Cake Addin #addin nuget:?package=MMKiwi.MdbReader&version=0.1.0-beta1&prerelease // Install MMKiwi.MdbReader as a Cake Tool #tool nuget:?package=MMKiwi.MdbReader&version=0.1.0-beta1&prerelease
MdbTools in C#
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 |
---|---|---|
0.1.0-beta1 | 79 | 7/5/2024 |