Scusa, ma mi sfugge la differenza...Originariamente inviato da Miitiicoo83
Il problema stà nel fatto che devo poterla modificare da software e non da codice,
Come fai a modificarla da software senza usare il codice?
Ricapitoliamo:Originariamente inviato da Miitiicoo83
Solo che se applico queste modifiche, il dataset di arrabbia,
[cut]
Avete qualche ideea? Se lascio anche un'altra stringa di connessione, poi il software non sa a quale database far riferimento. Per cortesia aiutatemi, è fastidioso dover fare 1000 salvataggi per paura che il dataset si "tronchi"
a) il tuo applicativo gira sul server,
b) se gira in LAN significa che è un applicazione multi-utente (più client accedono al server)
c) lo stesso database è condiviso per consentire l'accesso a tutti i Client della rete
In un siffatto scenario, secondo me, far modificare da software il percorso del database significa voler farsi del male da solo. (Battuta : ma si sa, esistono anche i masochisti)
Ad esempio, se vi sono utenti connessi e 'qualcuno' modifica il percorso ovvero sposta il database su un percorso diverso (ammesso poi che il sistema lo permetta, ma per mia esperienza sono sicuro al 100% che non è possibile, al massimo lo copi).
Comunque, volendolo proprio fare, a grandi linee dovresti seguire queste regole:
a) L'utente che esegue l'operazione deve essere un Amministratore!!!
- ovvero dovrà autenticarsi al database con le credenziali amministrative
. (nel database Access devi prevedere un'apposita tabella UTENTI con le credenziali)
b) deve accedere al database Access in modalità esclusiva, verificando il successo di questa operazione:
- b.1 se ha successo, nessun utente è connesso al database. BENE, posso procedere
- b.2 se NON ha successo, allora bisogna verificare CHI è connesso e farlo disconnettere.
c) i parametri per la stringa di connessione devono essere registrati esclusivamente in un file
- c.1 se il database è protetto da password, allora è necessario crittografare i dati del file.
d) a questo punto da programma:
- 1. ci si disconnette dal database
- 2. si seleziona la nuova locazione
- 3. si registra nel file di configurazione il nuovo percorso (e password se c'è crittografati).
- 4. si testa la connessione con i nuovi parametri
- 5. si chiude il programma e lo si riavvia per verificare che tutto vada bene.
f) naturalmente, l'applicativo dovrà ogni volta all'avvio andare PRIMA a leggere i parametri nel file di configurazione, e poi stabilire la connessione al database.
A dire il vero ci sarebbero altre cosine da fare, ma per il momento mi pare che basti, se vuoi intraprendere questa strada.
Se invece NON vuoi farti male:
1. crei una Orifine Dati DSN
2. da programma fai sempre e solo riferimento a quella
3. se devi cambiare il percorso, basta riconfigurare l'origine dati e sei a posto.
Modalità spartana:
Prevedi solo il punto (f) indicato sopra, in un file NON crittografato, e modifica 'a mano' il percorso del database, avendolo preventivamente spostato.
![]()