JetComp consente di trasformare un vecchio MDB in accdb (e mi fa molto comodo)
Se inserisco i parametri manualmente nessun problema.
Se lo eseguo da linea comando non va (e non dà errore)
Ho creato un BAT per intercettare l'errore e chiudere tutto ciò che poteva dare fastidio
@echo off
setlocal enabledelayedexpansion
REM CONFIGURAZIONE
set JETCOMP="C:\test\Jetcomp.exe"
set SRC="C:\test\DBInput.mdb"
set DST="C:\test\DBOutput.accdb"
echo =========================================
echo [JETCOMP] Avvio compattazione database...
echo =========================================
REM Chiudi eventuale MS Access aperto
echo -> Chiusura eventuali processi Access...
taskkill /im msaccess.exe /f >nul 2>&1
REM Cancella file destinazione se esiste
if exist %DST% (
echo -> Cancello il file di destinazione esistente...
del /f /q %DST%
)
REM Avvio Jetcomp
echo -> Eseguo compattazione...
%JETCOMP% -src %SRC% -dest %DST%
set EXITCODE=%errorlevel%
REM Verifica esito
if %EXITCODE% neq 0 (
echo [ERRORE] Jetcomp ha restituito codice %EXITCODE%.
echo Compattazione non riuscita.
pause
exit /b %EXITCODE%
)
REM Controllo se file di destinazione esiste
if exist %DST% (
echo [OK] Compattazione completata con successo.
echo File compatto creato in:
echo %DST%
) else (
echo [ERRORE] Jetcomp ha detto "OK" ma il file non è stato creato.
echo Possibili cause:
echo - File di origine inesistente o non accessibile
echo - Permessi mancanti sulla cartella di destinazione
echo - File di origine aperto in un altro processo
)
pause
endlocal
Il risultato è sempre
=========================================
[JETCOMP] Avvio compattazione database...
=========================================
[ERRORE] Jetcomp ha restituito codice -70.
Compattazione non riuscita.
Premere un tasto per continuare . . .
Provato con e senza la path tutto uguale.
Qualche idea?