Skip to content
Octo × Access PT Request an assessment

Octo for Access databases

Every Access database is a file in a folder. The one who decides what gets migrated is you.

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.

Fictional table model of a construction projects database: a front-end with a form and a report connected through linked tables to a back-end with four tables, Contracts, Measurements, Suppliers and Projects, joined by one-to-many relationships; a bar shows the file with 1.7 of 2 GB used, and Octo in the center Obras_FE.accdb · front-end frmMedicao Contract Date Measured value CT-0412 Oct 28, 2026 $3,648.00 Save rptMedicoesMes VBA · 3 modules linked tables Obras_BE.accdb · back-end Obras PK IdObra Nome Municipio Inicio Fornecedores PK IdFornecedor CNPJ RazaoSocial Contratos PK IdContrato FK IdObra · IdFornecedor ValorGlobal (Moeda) Medicoes PK IdMedicao FK IdContrato DataMedicao · ValorMedido 1∞ 1∞ 1∞ relationship without enforced integrity FILE SIZE · 2 GB LIMIT 1.7 GB mdb-schema Obras_BE.accdb postgres 4 tables · 3 relationships OCTO × ACCESS ACCDB · ACE · ODBC A-06
Illustration: front-end, back-end table model and the file close to the limit; fictional data.
Maximum file size2 GB.accdb or .mdb, minus the system objects
Access 2016 and 2019Oct 14, 2025end of support; LTSC 2021 on Oct 13, 2026
SSMA for Access10.6targets: SQL Server 2019+ and Azure SQL
Sources12listed at the end of the page
01

What Octo does with Access databases.

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.

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.

Deliverable: spreadsheet per database and per table

Reading without opening Access

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 source

Migration to PostgreSQL

mdb-schema ... postgres reviewed by a person, mdb-export table by table and \copy into a staging database.

Deliverable: staging database and a count manifest

SQL Server with SSMA

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 database

Front-end relinked

Lists 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.

Deliverable: before-and-after log of each link

Checks by content

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 owner
02

Eight arms, a checked database.

The 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.

  1. Discovery

    Finds what exists

    The network's databases, size, use, format, front-ends and each one's links.

  2. Data

    Reads the schema

    Tables, relationships, target types and the manifest of sums and counts taken from Access itself.

  3. Security

    Looks after access

    Passwords saved in links, folders that are too open, databases with personal data (LGPD, Brazil's data protection law) and unsupported Access versions.

  4. Architecture

    Chooses the target

    SQL Server, PostgreSQL or Dataverse, and whether Access stays as the screen or is retired.

  5. Development

    Writes the scripts

    Inventory, export, load, check and relinking, with the source of each option noted.

  6. Review

    Checks by content

    Count, sum, orphan, duplicate and a form opened in staging. "It loaded without errors" is not a check.

  7. Release

    Prepares the cutover

    A window, the old back-end read-only and a rollback ready; it executes only with recorded approval.

  8. Documentation

    Records what applies

    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.

03

Every task, its own path.

The criteria Octo uses to choose, with the tool and the note that matters.

TaskPathNotes
Find the network's databasesSearch for .mdb, .accdb, .adpA .laccdb/.ldb next to it indicates use
See format and tablesmdb-ver, mdb-tables, mdb-countOn a copy; mdbtools is for reading
Read with Microsoft's engineAccess ODBC driver (pyodbc, .NET)Same architecture as Office: 32 or 64 bits
Read and write in JavaJackcess, UCanAccessApache 2.0
Export the schemamdb-schema ... postgresHuman review before applying
Export the datamdb-export + \copy-D and -T for ISO dates
Migrate to SQL ServerSSMA for Access, console + XMLSQL Server 2019+ and Azure SQL
Move a table to DataverseExport, Dataverse, in AccessPower Apps license
Relink the front-endDAO: Connect + RefreshLinkWindows authentication, no saved password
Compact and repairmsaccess.exe banco.accdb /compactWith a logged-in user; rewrites the file
Run in a service with no userDon't use Access or ACEUnsupported (KB 257757); migrate the data
04

From a file in a folder to a database with a server.

Three steps. Each one only makes sense after the previous one has shown results on your team.

A proposal, not a promise

1 Today

Inventory

Octo shows how many databases exist, how big they are, whether they are in use, without writing anything.

  • Spreadsheet per database and per table
  • Alerts for the limit and for unsupported versions
  • Databases with personal data flagged
Gain: knowing the size of the problem before migrating
2 Next

Checked migration

The databases that matter go to SQL Server or PostgreSQL, with a check manifest.

  • Schema reviewed by a person
  • Count and sum matching on both sides
  • Front-end relinked, if the department wants to keep the screen
Gain: an end to the 2 GB limit and to corrupted files
3 Later

Rules out of the forms

Critical queries and VBA become views, procedures or an application, with an owner and a version.

  • Business rules documented
  • Per-user access on the server
  • Access retired where it isn't needed
Gain: auditable data and a system that doesn't depend on a folder
05

Confirmed by a source.

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.

Confirmed2 GB and 255 users
A file of up to 2 GB minus the system objects, 255 concurrent users, 255 fields per table and 32,768 objects.Source: support.microsoft.com, Access specifications
ConfirmedUnsupported versions
Access 2016 and 2019 went out of support on Oct 14, 2025 and Access LTSC 2021 on Oct 13, 2026; Access LTSC 2024 is supported until Oct 9, 2029.Source: learn.microsoft.com/lifecycle
ConfirmedADE 2016 discontinued
Support for the Access Database Engine 2016 Redistributable ended on Oct 14, 2025; the recommended replacement is the Microsoft 365 Access Runtime, which includes ODBC, OLE DB and DAO.Source: microsoft.com/download, id 54920; support.microsoft.com
ConfirmedNo automation on the server
Microsoft does not recommend or support Office automation from an unattended component, and treats the ADE and the Access Runtime as Office components.Source: KB 257757
ConfirmedSSMA for Access 10.6
Targets SQL Server 2019 onward, Azure SQL Database and Managed Instance; a console with XML scripts.Source: learn.microsoft.com/sql/ssma/access
Confirmedmdbtools on recent or password-protected .accdb
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.c
ConfirmedSSMA console script
The elements of the sample script (load-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)
06

What Octo does, and what stays with you.

Octo prepares everything, but it does not sign. The document of record stays with whoever is accountable for it.

Octo prepares

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 check

Your team checks

Whoever 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 accountable

Who signs and approves

Octo 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 administrator
07

Sources.

Microsoft support, lifecycle and documentation pages, the mdbtools, Jackcess and UCanAccess repositories, and the PostgreSQL versioning policy, consulted on Oct 31, 2026.

Your Access databases, inventoried and checked.

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.