Skip to main content

Access database (*.mdb, *.accdb) parser

Project description

AccessDB Parser (Pure Python)

Microsoft Access (.mdb / .accdb) database files parser. The parsing logic is fully written in python and works without any external binary dependencies.

Installing

Use pip: pip install git+https://github.com/McSash/access_parser_c

Or install manually:

git clone https://github.com/McSash/access_parser_c.git
cd access_parser_c
python3 setup.py install

Demo

asciicast

Usage Example

from access_parser_c import AccessParser

# .mdb or .accdb file
db = AccessParser("/path/to/mdb/file.mdb")

# Print DB tables
print(db.catalog)

# Tables are stored as defaultdict(list) -- table[column][row_index]
table = db.parse_table("table_name")

# Pretty print all tables
db.print_database()

Another Usage Example

from access_parser import AccessParser
from azure.storage.blob import ContainerClient

# Download access file from azure blob storage
BlobContainerClient = ContainerClient.from_connection_string("<StorageConnectionString>", container_name="<ContainerName>")
access_object = BlobContainerClient.download_blob("<PathToFile>").readall()

# Bytes object of .mdb or .accdb file
db = AccessParser(access_object)

# Print DB tables
print(db.catalog)

# Tables are stored as defaultdict(list) -- table[column][row_index]
table = db.parse_table("table_name")

# Pretty print all tables
db.print_database()

Known Issues

  • OLE fields are currently not supported
  • Only a subset of memo fields are parsed

This library was tested on a limited subset of database files. Due to the differences between database versions and the complexity of the parsing we expect to find more parsing edge-cases.

To help us resolve issues faster please provide as much data as you can when opening an issue - DB file if possible and full trace including log messages.

Thanks

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

access_parser_c-0.0.7.tar.gz (15.8 kB view details)

Uploaded Source

File details

Details for the file access_parser_c-0.0.7.tar.gz.

File metadata

  • Download URL: access_parser_c-0.0.7.tar.gz
  • Upload date:
  • Size: 15.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.1 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.9.7

File hashes

Hashes for access_parser_c-0.0.7.tar.gz
Algorithm Hash digest
SHA256 a76b512746afb55e5c6d4d95e837645c2e021cf52d2526cd88ae539023a43e31
MD5 60e5a2a24c77aae2b16c3c507a1f1fca
BLAKE2b-256 051b398d00b7ba3cbbdd1d90103d16cb406ea68504b3a9a8454925cfd377f3d4

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page