Inventory of the network's databases
Finds every .mdb and .accdb on the share, measures size against the 2 GB limit, sees whether it is in use from the lock file, and reads format, tables and rows in a copy.
Octo for Access databases
An .accdb holds up to 2 GB, has no server or REST API, and the business rules live in queries, forms and VBA. Octo finds the databases scattered across the network, measures size, use and format, reads the tables without opening Access, migrates to PostgreSQL or SQL Server with checks by count and sum, and relinks the front-end, which can remain the department's screen. The cutover, the data and the access stay with the system owner.
Six possible deliverables, drawn from the research. All of them start with a copy and reading, all of them check by content, and all of them go to review by the system owner.
Finds every .mdb and .accdb on the share, measures size against the 2 GB limit, sees whether it is in use from the lock file, and reads format, tables and rows in a copy.
mdbtools on Linux, Jackcess in Java or the Access ODBC driver on Windows, with the same architecture as Office. Schema and data go out to CSV or SQL.
Deliverable: exported schema and data, with a hash of the sourcemdb-schema ... postgres reviewed by a person, mdb-export table by table and \copy into a staging database.
Assessment report, schema conversion, synchronization and data migration through the SSMA for Access console, with a log and an XML report.
Deliverable: SSMA project, reports and staging databaseLists each front-end's links (TableDefs, Connect), finds broken network paths and saved passwords, and relinks to the new server, first in a dry run.
Count per table, sums, nulls, dates, orphan records and duplicate keys, against a manifest taken from Access itself before the migration.
Deliverable: list of discrepancies for the data ownerThe same Octo cycle, applied to Access databases. Each arm has a narrow role; the ones who decide what gets migrated, answer for the data and approve the cutover are people.
The network's databases, size, use, format, front-ends and each one's links.
Tables, relationships, target types and the manifest of sums and counts taken from Access itself.
Passwords saved in links, folders that are too open, databases with personal data (LGPD, Brazil's data protection law) and unsupported Access versions.
SQL Server, PostgreSQL or Dataverse, and whether Access stays as the screen or is retired.
Inventory, export, load, check and relinking, with the source of each option noted.
Count, sum, orphan, duplicate and a form opened in staging. "It loaded without errors" is not a check.
A window, the old back-end read-only and a rollback ready; it executes only with recorded approval.
Inventory, type mapping, discrepancies handled, who approved and how to roll back.
Octo works with copies and reading; it writes only to a staging database. It does not delete files, does not change a database in use, does not keep the database password and does not do the cutover without a person's approval.
The criteria Octo uses to choose, with the tool and the note that matters.
| Task | Path | Notes |
|---|---|---|
| Find the network's databases | Search for .mdb, .accdb, .adp | A .laccdb/.ldb next to it indicates use |
| See format and tables | mdb-ver, mdb-tables, mdb-count | On a copy; mdbtools is for reading |
| Read with Microsoft's engine | Access ODBC driver (pyodbc, .NET) | Same architecture as Office: 32 or 64 bits |
| Read and write in Java | Jackcess, UCanAccess | Apache 2.0 |
| Export the schema | mdb-schema ... postgres | Human review before applying |
| Export the data | mdb-export + \copy | -D and -T for ISO dates |
| Migrate to SQL Server | SSMA for Access, console + XML | SQL Server 2019+ and Azure SQL |
| Move a table to Dataverse | Export, Dataverse, in Access | Power Apps license |
| Relink the front-end | DAO: Connect + RefreshLink | Windows authentication, no saved password |
| Compact and repair | msaccess.exe banco.accdb /compact | With a logged-in user; rewrites the file |
| Run in a service with no user | Don't use Access or ACE | Unsupported (KB 257757); migrate the data |
Three steps. Each one only makes sense after the previous one has shown results on your team.
A proposal, not a promise
Octo shows how many databases exist, how big they are, whether they are in use, without writing anything.
The databases that matter go to SQL Server or PostgreSQL, with a check manifest.
Critical queries and VBA become views, procedures or an application, with an owner and a version.
Every point below has a source published by Microsoft (Learn and Support), by the package's official repository (PyPI, NuGet, PowerShell Gallery) or in Brazilian federal law. The examples are scripts to follow, not runs. The sources are in the next section.
7
points with a published source, each with its reference shown alongside.
mdb-ver recognizes the JET3, JET4 and ACE12 to ACE17 formats. On the dev branch, an encrypted .accdb is rejected; 1.0.1 has no such check and may open the file with no tables, which the inventory marks as "check (password?)".Source: github.com/mdbtools/mdbtools, src/util/mdb-ver.c and src/libmdb/file.cload-access-database, convert-schema, migrate-data, link-tables) were checked against the console documentation; before use, the file is validated against the XSD schema of the installed version.Source: learn.microsoft.com, Execute the SSMA Console (AccessToSQL)Octo prepares everything, but it does not sign. The document of record stays with whoever is accountable for it.
Surveys, organizes and produces the files: documents, spreadsheets, presentations, schedules, inventories and check reports, on file and through the APIs, without sending or publishing anything.
Deliverable: material ready to checkWhoever is accountable for the document, the spreadsheet or the schedule checks what Octo delivered before approving. If something doesn't add up, it goes back to Octo with the correction.
Step: checked by the person accountableOcto does not sign, approve or send. The document owner reviews and signs; the project manager approves the baseline; the Microsoft 365 administrator grants consent for permissions; the data protection officer approves anything that goes out with personal data.
Approval: document owner and 365 administratorMicrosoft support, lifecycle and documentation pages, the mdbtools, Jackcess and UCanAccess repositories, and the PostgreSQL versioning policy, consulted on Oct 31, 2026.
The assessment starts with an inventory of the network's databases, read-only and on a copy. You get the list of what exists, what is close to the limit, what runs on an unsupported version and the questions only your team can answer, and you decide with that in hand.