Qualcuno sa come si fa? grazie
Qualcuno sa come si fa? grazie
IN ASP visto che ora utilizzo MySql
Questo script utilizza JRO (Jet Replication Object) fornito insieme ad ADO 2.1 o superiore.
Il database Access viene compattato su un nuovo file, chiamato test_compattatto.mdb:
<%
strFile = Server.MapPath("test.mdb")
strFileTo = Server.MapPath("test_compattato.mdb")
strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" &_
"Data Source=" & strFile
strConnTo = "Provider=Microsoft.Jet.OLEDB.4.0;" &_
"Data Source=" & strFileTo
set objJro = server.createobject("jro.JetEngine")
objJro.CompactDatabase strConn, strConnTo
if err <> 0 then
Response.Write "Errore:
" & err.description
else
Response.Write "Database compattato con successo su " & strFileTo
end if
set objJro = Nothing
%>
Una volta compattatto è possibile rinominare il file (vedere l'archivio).
E in asp.net? Immagino che essendo tu passato al mysql .... Grazie mille Daniele
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 ObjJRO as New JRO.JetEngine()
ObjJRO.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"
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.