Newsgroup: it.comp.lang.visual-basic
Titolo: Database in Rete

Buongiorno a tutti,
vi sarei grato se mi chiariste un concetto riguardante la connessione ad un 
database in una rete.
Ho sviluppato una (mediocre!) applicazione in vb6  che lavorava su unica 
postazione, interagendo con
database tipo access utilizzando DAO.
Quindi l'apertura del Db avviene più o meno così:
set MyDb = opendatabase ("C:\Miacartella\mioDb.Mdb")
set myTable = MyDb.Openrecordset ("Tabella",dbopentable)
Ammesso che decida di farla lavorare in rete con le opportune modifiche, mi 
sono posto diversi interrogativi:
1) Questa istruzione aprirebbe il db in locale, ma andrebbe cambiata in
      set MyDb = opendatabase (\\SERVER\C\Miacartella\mioDb.Mdb)
Io non posso sapere quale nome ha il pc adottato come server. Come si 
risolve?
Xp non lascia accedere ad un db in una cartella che non venga condivisa e 
con essa ovviamente
la sottocartella che ospita in Db.
2) C'è un sistema per condividere le cartelle automaticamente?
Sto percorrendo una strada totalmente errata?
Al momento mi basterebbe qualche chiarimento a questo proposito.
Per i guru probabilmente sarà da ridere, ma io lo trovo un problema serio!
Grazie tutti e buon lavoro 

 
ZAC
IMHO....se non vuoi scrivere "un altra" applicazione...puoi "trasformarla"
così:
Il tuo problema oltre a  "trovare" il DB...sarà anche quando 2 o 3
postazioni accedono allo stesso record (anzi alla stessa pagina di memoria
in cui c'è i record che interessano)...
ad andar bene ti si blocca tutto...ad andar male...non sai più su quali
dati sta lavorando una postazione!!!
Mi spiego meglio: se non hai pensato la tua pplicazione in logica
client/server...son volatili per diabetici!
Puoi provare a fare così...
METTI un winsock...implementa un tuo protocollo....
e poi fai una cosa del genere:
La tua applicazione "client" ha bisogno di trovare i dati di una fattura?
1)Chiedi al "Server" se è "acceso"
2)Se è "acceso"...mandagli l'SQL della tua ricerca
3)Il server che di fatto lavora monoutente...chiede ad access i dati....
4) Il server "MARCA" la tua richiesta
5) Il server ti invia il risultato...
6) Tu confermi l'invio...il server stacca tutto ed è pronto per una nuova
richiesta
il punto 4) è importante...perchè tu puoi decidere cosa fare
es.
La postazione 3 sta modificando i dati del pagamento del cliente 222...se
la postazione 5 lo vuol fare anche lei...non lo fa!...o attende...o
desiste!
Implementi un "lock pessimistico all'amatriciana"
Ti garantisco che applicazioni monoutente..."RIGIDAMENTE" monoutente....un
po di ossigeno lo prendono in questo modo!
Certo...è una soluzione tampone...una logica client server (ed un db
serio)sono comunque da supportare...ma ti consente nel frattempo di non
lasciare il cliente in braghe di tela...e nel frattempo
sviluppare la tua applicazione multiutente
Una base minima di partenza
il buon vecchio
http://www.vbsimple.net/index.htm?/cliserv/index.htm

 la sottocartella che ospita in Db.
zac
Rileggendoti....
posso capire forse...che la tua applicazione la lasci COMUNQUE monoutente
ma metti l'mdb CHISSA' DOVE a giro pr uno dei tanti pc di una rete!
A parte che rabbrividisco a questa ipotesi...
SE conosci gli ip di tutti i pc della rete...
fai lo stesso un "mini" programma con il winsock...ed installalo su tutti
i pc...
Al bisogno 
POSTAZIONE:"CUCU' server dove sei???"
.....
RISPOSTA:"SON QUI 1.1.1.1 //pincopallino/miodb/miodb.mdb"
Come si capisce son affascinato dal winsock e dalle sue potenzialità...me
ne frego del traffico di rete ...ed ho sempre trovato netAdmin bravi e
comprensivi!

 ha scritto nel messaggio 
news:4520ad5e$0$25883$4faf...@reader1.news.tin.it...

Risposta facile ma non molto professionale:
Sei *tu*, amministratore di sistema che decidi quale dev'essere il PC che fa 
da server, quindi conosci il nome del server.
Semtre *tu* decidi quali cartelle sono o non sono condivise e i diritti 
d'accesso, quindi anche questo problema è risolto.
Risposta un po' più complessa ma tecnicamente migliore:
Metti sul server SQLServer2005 con tutti i suoi strumenti di amministrazione 
e usi ADO per accedere al db, così hai un vero motore DB client-server.
Ciao 

 ha scritto nel messaggio 
news:pan.2006.10.02...@miamail.it...



Oppure puoi dare un occhio a questa mia soluzione alternativa:
http://groups.google.it/group/it.comp.lang.visual-basic/browse_frm/thread/a0edc437f7535773/411cd61d1aaa860c?lnk=gst&q=fabio+qsql&rnum=1#411cd61d1aaa860c
Ciao 

 ha scritto nel messaggio 
news:4520d058$1...@x-privat.org...


 della mia portata.
Beh, la soluzione 1 č davvero banale ed č quella classica adottata da chi 
non vuole perderci piů di 5 minuti.
Ciao 

 ha scritto nel messaggio 
news:4520d4db$1...@x-privat.org...
