Newsgroup: it.comp.appl.access
Titolo: due connessioni odbc

Ciao a tutti, 
su un computer che rimane sempre acceso ho un db con un timer che gira continuamente... 
Il "problema" è che questo db viene utilizzato ogni tanto anche da qualche utente e quando ci sono delle operazioni dispendiose si blocca per una decina di secondi.
Ovviamente non posso avere due db identici aperti, quindi stavo pensando di impostare una connessione odbc copia di quella in uso.
Quindi il db attuale funzionerebbe da front-end per gli utenti e una copia che in qualche modo nasconderei alla vista degli utenti (tipo servizio) si dovrebbe collegare con la nuova connessione odbc. 
Sono stato chiaro? E' un metodo che funziona?


"..Sono stato chiaro?.."  no
Non indichi cosa tu intendi per 'db'
Non indichi cosa intendi per 'db viene utilizzato' (lettura? scrittura?)
Un 'db che funziona come front-end' abbi pazienza ma non si puo' leggere
Chiarisci se per db intendi un db su Sql Server\Db2\Postgresql oppure un 
file Access con solamente tabelle dati dentro oppure un file Access con 
dati ed anche codice che fa qualcosa
 
Spiega meglio cos'hai ora e cosa vorresti fare, e magari una mano ti si 
puo' dare

 puo' dare
vorrei che chi utilizzi questo programma access, non debba, ogni tanto aspettare che il programma
termini di fare i suoi conti.
per questo volevo mantenere aperti sullo stesso pc due access, però so che questo genera problemi.
quindi ho pensato alla soluzione di sdoppiare le connessioni odbc.
non è che sia impossibile lavorare, anzi finora nessuno si è lamentato. 
però vorrei migliorare la cosa...

 ogni tanto aspettare che il programma termini di fare i suoi conti.
 
intenti che è lento ad eseguire dei conteggi/query e l'utente deve 
attendere? se si dovresti indagare sui motivi della lentezza?
magari sono query o stored procedure fatte male
 
se invece intendi che vorresti che il tuo codice proseguisse mentre lui 
fa altro, purtroppo vba non permette come in altri linguaggi di 
scegliere se eseguire parti di codice in modo sincrono o asincrono
 
BFS

 continuamente...
 
hai valutato se può essere un miglioramento creare due utenti, mettere 
il task "eterno" su uno dei due che se ne sta in background, e lasciar 
usare il secondo utente a quelli che ne hanno bisogno
 
-- 
/-\ /\/\ /\/\ /-\ /\/\ /\/\ /-\ T /-\
-=- -=- -=- -=- -=- -=- -=- -=- - -=-
........... [ al lavoro ] ...........


grazie! questo risolverebbe il mio problema.
avevo provato in passato, ma quando il secondo utente non è connesso, il codice non girava.
quindi cosa devo fare? adesso il mio access è un semplice mdb.


scusate. nel frattempo ho cercato info...
quindi creo l'applicazione e poi da linea di comando
sc create NOME_SERVIZIO binPath= "PERCORSO_DEL_FILE_ESEGUIBILE" [opzioni]
dove opzioni può essere "start=auto"
 
ma in questo caso se il computer si spegne, una volta riacceso, riparte tutto?
cioè windows fa partire tutti i servizi di tutti gli utenti di una macchina?

 per questo volevo mantenere aperti sullo stesso pc due access, però so che questo genera problemi.
 
 
Esattamente che tipo di problemi crea?
Non mi risulta che avviare una seconda (terza, quarta,..) istanza del 
programma, usando la stessa connessione odbc verso il db, comporti dei 
problemi
 
A meno che la tua seconda istanza non vada a pescare qualcosa (ad 
esempio dei file configurazione) gia' usato dalla prima, fosse cosi 
basta ritoccare il programma e fare in modo che le due istanza siano 
indipendenti