Newsgroup: it.comp.lang.delphi
Titolo: Database in rete

Scusate se la domanda è stata già fatta, ma al momento non sono
riuscito a trovare nulla di quello che sto x chiedere.
Sto per iniziare il programma che deve girare in rete e come database
potrei usare sia ACCESS-ADO che MYSQL-DBEXPRESS oppure cercarne di
altri (non è questo il problema).
Una volta scelto il database giusto (che sia anche Oracle, ma non
credo) nel programma devo impostare qualcosa che aiuti la simultaneità
degli accessi al database in rete?
Per esempio una volta sapevo che x chi usava paradox bisognava
utilizzare 
PDOXUSRS.NET
 con delle righe di codici apposta.
O forse non serve niente e basta solo scegliere il database
appropriato?
ESEMPIO:
due operatori del programma stanno creando contemporaneamente due
fatture diverse da due computer diversi; il database sa già capire da
se a quale delle due assegnare il contatore 25 e a quale dare il 26
(immaginando che 24 fatture siano già state fatte)? Non vorrei che poi
ci si ritrovi con indici corrotti.

 degli accessi al database in rete?
Data la domanda, presumo che tu sia poco informato, quindi, ti
sintetizzo alcune cose:
1) UN DATABASE CLIENT/SERVER NON HA NIENTE IN COMUNE CON COSE TIPO
PARADOX O ACCESS
2) CON UN DB CLIENT/SERVER NON SI USANO OGGETTI TABELLARI COME
TADOTABLE, TTABLE O TSQLTABLE
3) RIGUARDO LA TUA DOMANDA SPECIFICA, LA RISPOSTA E' NO. QUELLO CHE
DEVI GESTIRE E' LA VISIBILITA' DELLE MODIFICHE TRA TRANSAZIONI DIVERSE
COSA CHE FAI MOLTO SEPLICEMENTE IMPOSTANDO DEI PARAMETRI NELL'OGGETTO
CHE TI GESTISCE LA CONNESSIONE AL DATABASE.
4) PRIMA DI PARTIRE, DEVI DOCUMENTARTI IN MODO APPROFONDITO.
A.

 (immaginando che 24 fatture siano gi� state fatte)? Non vorrei che poi


 ci si ritrovi con indici corrotti.
usa le transazioni sia che si tratti di un campo autoincrementale o
meno
Ciao
Andrea

 ci si ritrovi con indici corrotti.
Dalle informazioni contenute nel tuo post, deduco che hai avuto un 
approccio di "vecchia scuola" allo storage dei dati :-)
Troverai centinaia di post su questo stesso ng che trattano questo 
argomento, trito e ritrio, e questo ï¿œ un bene per te, inizia pure a 
cercare da qui:
http://groups.google.it/group/it.comp.lang.delphi/topics?hl=it
Eccoti qualche consiglio:
1) Cerca di utilizzare un RDBMS (
http://it.wikipedia.org/wiki/RDBMS
) 
opensource, va per la maggiore firebird, ma si parla bene anche di 
postgresql. mysql ï¿œ molto popolare ma non sono ben chiare le opinioni 
sulla la licenza di utilizzo a fini commerciali, approfondisci.
2) Dovrai impararti l'SQL, anche a livello base, per un approccio 
client server con un rdbms. (ad esempio cerca "delphi SQL  tutorial 
database" in google) oppure:
http://databases.about.com/od/sql/a/sqlfundamentals.htm
http://www.w3schools.com/sql/default.asp
3) segui dei tutorial di base per incominciare a *pensare* 
all'approccio concorrenziale, eviterai cosï¿œ di impazzire dietro 
cortocircuiti mentali del tipo "A modifica il record insieme a B, 
entrambe salvano nello stesso momento, come devo gestire l'ID o il 
numero fattura?". Lascia che siano i componenti a gestire la 
concorrenza, non reinventare la ruota. Il lock pessimistico risolve 
brutalmente ogni tuo problema se proprio ï¿œ necessario bloccare.
Eccoti un link da cui partire:
http://delphi.about.com/od/database/a/databasecourse.htm
4) nell'affrontare i vari problemi che inevitabilmente incontrerai 
cammin facendo, ricordati che molte persone prima di te li hanno 
affrontati e superati, quindi puoi sempre chiedere nel newsgroup e 
cercare con google la soluzione al tuo problema.
5) la lingua inglese ï¿œ fondamentale: ben poche risorse sono prodotte in 
italiano, abituati sin da subito a cercare con google per parole chiave 
in inglese, ad esempio "delphi concurrency database", ecc..
6) se ti appassionerai alla programmazione e vorrai approfondire il 
modello dell'accesso ai dati, della concorrenza, ecc... allora potrai 
incominciare lo studio della persistenza dei dati tramite oggetti di 
business e modelli.(indicativamente corrispondono agli acronimi 
ORM,OPF).
Un solo esempio: 
http://www.ambysoft.com/downloads/persistenceLayer.pdf
ne troverai moltissimi, cerca in google tiopf.
7) ci ho messo un po' di passione e un po' del mio tempo a scrivere e 
trovare i link per questo post.. fanno 100 euro dottï¿œ.. a chi mando la 
fattura? :-P
buon lavoro e buono studio ;-)
-- 
Morde

Grazie a tutti
:-)
e scusate ancora il disturbo
;-)
PS:
cacchio avevo 100€ in tasta dove sono finite?
qualcuno di voi le ha viste?