Compattare un DataBase

martedì 07 giugno 2005 - 14.08

Graymerlon Profilo | Newbie

Sapete qualè l'istruzione per compattare un DB Access direttamente da codice. Ho utilizzato per la connessione e la gestione dei dati ADO.NET.

Grazie

totti240282 Profilo | Guru

io con vb6 e access usavo il componente jro ,ma sinceramente non so se va più bene .

alextyx Profilo | Expert

Io ho trovato queste indicazioni e le ho inserite nel mio programma, ottenendo la funzione che ti invio:


Public Function FnzCompattaDB(ByVal Origine As String, ByVal Destinazione As String)

'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


'J.CompactDatabase("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Temp\MyDb.mdb", "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Temp\MyNewDb.mdb;Jet OLEDB:Engine Type=5")
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.

End Function
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5