Torna al Thread
''' <summary>
''' Compatta il database e torna True se non ci sono stati errori
''' </summary>
Public Function CompattaDB(ByVal Origine As String, ByVal Destinazione As String) As Boolean
CompattaDB = True
'Al momento non è possibile compattare o riparare un database costruito con Access né tramite ADO.NET, né tramite ADO.
'Pertanto è necessario sfruttare lo strato di interoperabilità offerto da .NET e referenziare il
'componente COM denominato Microsoft Jet and Replication Objects (JRO) distribuito a partire da MDAC 2.1
Dim J As New JRO.JetEngine
Try
J.CompactDatabase("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Origine, "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Destinazione & ";Jet OLEDB:Engine Type=5")
'Il metodo CompactDatabase riceve la stringa di connessione del database da compattare e la stringa di un
'database da creare come copia compattata dell’originale.
'Il parametro Jet OLEDB:Engine Type individua la versione dell’ "Engine" di Access con cui è stato concepito
'il file originale pertanto è necessario assegnarli 4 se è stato creato con Access 97
'o 5 se è stato creato con Access 2000.
Catch ex As Exception
CompattaDB = False
MessageBox.Show(CstInizioMessaggioErrore & ex.Message & ControlChars.CrLf & ex.StackTrace)
Finally
'J = Nothing
End Try
Return CompattaDB
End Function