Een Access MDB-database converteren naar de ACCDB-bestandsindeling

Ja, het is 2019, maar online kom je nog heel veel oude Access-databases, zoals Access 2000, Access 2002 en Access 2003. Allen met een .mdb-extensie. Nieuwere versies van Access gebruiken een andere bestandsextensie: .accdb. Hoe converteer je online Access 2003 naar 2007+? Lees verder!

Voordat we verder gaan moet je de scope van dit artikel even begrijpen. De Microsoft Jet Database Engine is de database-engine achter Access, om het versimpeld te zeggen. Wat je wilt is Jet OLEDB:Engine Type=5 updaten naar Jet OLEDB:Engine Type=6, dus niet zo zeer Access 2003 naar bijvoorbeeld Access 2010.

En dat converteren van Jet-versie naar de ACCDB-bestandsindeling kan met een klein ASP script. Een voorwaarde is dat minimaal de driver Microsoft Access database engine 2007 is geïnstalleerd in de webserver IIS, maar bij voorkeur een nieuwere zoals Microsoft Access Database Engine 2010 Redistributable of Microsoft Access Database Engine 2016 Redistributable.

<%
Dim objFSO
Dim objEngine
Dim strLckFile
Dim strSrcName
Dim strDstName
Dim strBackup

strLckFile	= "D:\www\pad\naar\database\db.ldb"
strSrcName	= "D:\www\pad\naar\database\db.mdb"
strDstName	= "D:\www\pad\naar\database\db.accdb"
strBackup	= "D:\www\pad\naar\database\db_backup.accdb"

Set objEngine = CreateObject("DAO.DBEngine.120")
Set objFSO = CreateObject("Scripting.FileSystemObject")

If Not (objFSO.FileExists(strLckFile)) Then
	If (objFSO.FileExists(strBackup)) Then
		objFSO.DeleteFile strBackup
	End If
	If (objFSO.FileExists(strDstName)) Then
		objFSO.DeleteFile strDstName
	End If
	objFSO.CopyFile strSrcName, strBackup

	' dbVersion120 = 128
	objEngine.CompactDatabase strSrcName, strDstName, , 128
End If
%>

Bron: @HansUp op Stack Overflow.

Verander de vier variabelen strLckFile, strSrcName, strDstName en strBackup. Merk hierbij op dat strSrcName het bronbestand is en strDstName het doelbestand (de nieuwe database). Sla dan het bestand op als bijvoorbeeld convert.asp, en upload het naar jouw website.

Ook interessant voor jou:  E-mail instellen in Outlook 2013

Als je hierna je het script uitvoert in de browser, dan zul je zien dat db.accdb een nieuw bestand is, gemaakt met db.mdb Access database als invoer. Ook is de bestandsgrootte van het .accdb Office Access-bestand iets groter.

Beschik je over Microsoft Office Access dan kun je de oude database openen en en kiezen voor opslaan als.

VersieVersienummerJet versie
Access 200210.04.0 SP1
Access 200311.04.0 SP1
Access 200712.0ACE 12
Access 201014.0ACE 14
Access 201315.0ACE 14
Access 201616.0ACE 16
Access 201917.0

Gebruik je écht nog Access databases op jouw website? Get real en converteer ze om naar Microsoft SQL Server of minstens MySQL.


“Want to say thanks?”

Heeft dit artikel je geholpen met het oplossen van een probleem? Vond je deze post interessant? Waarom doneer je dan geen kopje koffie? 🙂

Een kleine donatie van slechts €5 helpt mij enorm in de ontwikkeling en onderzoek van posts, en hosting van dit blog.

Koop een kop koffie

Bedankt voor je support.