salve dovrei esportare un database con il seguente script:
Dim MiaMail,body,buckup
Set MiaMail = Server.CreateObject("CDO.Message")
MiaMail.From = UrlEcom
buckup = MailBackup
MiaMail.To = buckup
MiaMail.Subject = "Copia db contratti"
MiaMail.AddAttachment(Server.MapPath("\mdb-database\dbdati.mdb"))
MiaMail.HTMLBody = "<b>Questa email</b> è stata inviata dal tuo programma di gestione contratti, ha in allegato il tuo db dei contratti compresso e ottimizato pronto per essere rimpiazzato in caso di anomalie."
MiaMail.Fields.Update()
MiaMail.Send()
Set MiaMail = Nothing
===========================
Function CompactDB(dbname, password)
Dim dbpath
dbpath = Server.MapPath(dbname)
Dim cnfrom, cnto
cnfrom = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&dbpath
cnto = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&dbpath&".temp"
If password<>"" Then
cnfrom = cnfrom&";Jet OLEDB:Database Password="&password
cnto = cnto&";Jet OLEDB:Database Password="&password
End If
Dim engine
Set engine = Server.CreateObject("JRO.JetEngine")
engine.CompactDatabase cnfrom, cnto
Dim fso
Set fso = Server.CreateObject("Scripting.FileSystemObject")
fso.DeleteFile dbpath
fso.MoveFile dbpath&".temp", dbpath
Set fso = nothing
Set engine = nothing
End Function
Call CompactDB("/mdb-database/dbdati.mdb", "")
Response.Write("Il db dei contratti è stato compresso e inviato all'amministratore!")
con gli altri database non mi da nessun problema, mq aundo vado ad esportare il db che mi serve mi da il sequente errore:
CDO.Message.1 error '80070020'
The process cannot access the file because it is being used by another process.
/contratti/copia.asp, line 14
la line 14 è:
MiaMail.AddAttachment(Server.MapPath("\mdb-database\dbdati.mdb"))
il db verrà esportato inviandolo via email all'amministratore!
premetto che il db non è utilizzato da nessun altro utente!
come posso risolvere questo problema?
Grazie