Newsgroup: it.comp.appl.access
Titolo: Compattare DB

Ciao a tutti.
In una applicazione NON ACCESS uso un DB Access via ODBC.
L'utilizzatore NON HA Access.
Esiste un modo per compattare il DB, per cosě dire, dall'esterno?
Si possono invocare (mandare in esecuzione) delle procedure lasciate nel
DB accedendovi via ODBC?
Grazie del aiuto!
Gilberto
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

 Gilberto
Indipendentemente dal tipo di applicativo che stai gestendo
hai solo 2 vie per compattare da remoto il DB:
1. DAO engine (DAO 3.5 o la versione che hai, e deve essere
   installato sul CLIENT che esegue il Compact)
 
  Esempio di Script:
  Set Engine = CreateObject("DAO.DBEngine.35")
  Engine.CompactDatabase "path\database.mdb",
"path\compacted_database.mdb"
2. JRO (Dovrebbe essere installato da MDAC 2.1)
  Esempio di Script
  Set Engine = CreateObject("JRO.JetEngine")
  Engine.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=path\database.mdb", _
    "Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=path\compacted_database.mdb"
 
Gli esempio che ti ho passato possono inseribili anche in un
file VBS onchč in ASP
Ciao
@Alex


 @Alex
Quindi, visto che la mia applicazione non é nè VBS nè ASP, devo avere un
agente esterno che esegue la compattazione.
Ho capito giusto?
Gilberto
.                                                                     .
.                                                                     .
.                                                                     .
.                                                                     .
.                                                                     .
.                                                                     .
.                                                                     .
.                                                                     .
.                                                                     .


 DB accedendovi via ODBC?
Puoi eseguire una compattazione con un click nel ODBC Administrator
come descritto nel 
http://support.microsoft.com/?kbid=275074
.
-- 
HTH
Karl
*********
Access FAQ: 
www.donkarl.com/it
 + iscriviti alla prima Conferenza
Italiana per Sviluppatori di Access (CISA 1), Arezzo, 4+5/6/2005 

 come descritto nel 
http://support.microsoft.com/?kbid=275074
.
Grazie Karl.
Anche se ho visto quel pulsante tante volte, non mi é venuto in mente!


 Gilberto
Non fai prima a dire che linguaggio usi....???
Non serve nulla di esterno, anche fosse in C o in C++
puoi sempre fare riferimento a DAO e/o JRO con la corretta
sintassi di linguaggio.
Saluti.
@Alex


 @Alex
L'applicazione (in realtà un gruppo di eseguibili) é sviluppata in
LabView (National Intruments) e si appoggia ai metodi esposti dal MDAC
2.5 per l'accesso a DataBase via ODBC.
Il mio DB é molto "dinamico", nel senso che l'applicazione principale
scrive e cancella molte volte, cosa che si sa fa "ingrossare" gli mdb
Access a dismisura.
Vorrei quindi compattare il DB regolarmente - possibilmente in modo
automatico, cioè, senza che detta operazione debba essere esplicitamente
espletata da un "amministratore" umano.
Un'ultriore grado di difficoltà é dato dal fatto che i vari eseguibili
che accedono al DB - la maggior parte solo per consultazione ma qualcuna
anche per aggiornamento di alcuni dati - non risiedono tutti nello
stesso PC ma sono dislocati in altri PC. É pure vero che sono usati da
umani, quindi posso sperare che alle 4 del mattino non vi siano accessi
al mio DB.
Questo é in breve il quadro generale.
Gilberto


 Gilberto
Si LabView lo conosco, ma non ho mai avuto questa neccessità.
Ora la cosa opportuna sarebbe sapere di quali librerie disponi
ma credo che se hai fatto riferimento a MDAC sicuramente
puoi usare JRO.
Ora le cose secondo me le puoi risolvere in 2 modi:
1)LW supporta linguaggi di scripting, e, conoscendo la sintassi
di programmazione puoi implementare la chiamata a JRO come
ti ho suggerito.
Ho visto fare cose ben più complicate ai tecnici di Milano National
ma non dovendo personalmente opreare su LW non ho mai approfondito.
2)cosa decisamente più semplice e sicuramente funzionale, ti crei un file
VBS(VbScript) nel quale metti la funzione JRO che ti ho accennato, e lo
esegui
da LW con una Shell o con un CMD, non ricordo come LW possa lanciare un file
ma credo che tu abbia più dimestichezza di me in questo ramo.
In ogni caso ci sono circa 4 NG dedicati a LabView Comp.LangLabview
è il più attivo, almeno fino a qualche anno fà....!
Ciao
-- 
@Alex (Alessandro Baraldi)
---------------------------------------------------------------------------
http://www.sitocomune.com/
http://www.mantuanet.it/alessandro.baraldi/
---------------------------------------------------------------------------

 Ciao
Grazie del suggerimento.
Essendo un problema strettamente legato ai database, Access in
particolare, mi è venuto spontaneo rivolgermi qui.
Tra l'altro, già in passato ho realizzato alcune cose in Access VB,
quindi il riferimento é immediato.
Effettivamente, é molto possibile che altri prima di me abbiano avuto lo
stesso problema, quindi chiederò anche sui NG labview.
Comunque, grazie. Queste dritte mi danno già qualcos'altro da lavorare.
