Ciao a tutti
Ho deciso di provare ad usare MSSQL EXPRESS per fare ciò ho pensato di iniziare
utilizzando le funzioni presenti in ADOFUNC.PRG mi chiedevo :
1) Se è il modo migliore per iniziare o è meglio usare ADORDD
2) Come eseguire una Rlock o Flock per evitare che due utenti lavorino
sullo stesso record o gruppi di record.
3) Se c'è necessità di fare manutenzione sulle tabelle Compattazione, reindicizzazione
Grazie
Maurizio Menabue
ADOFUNC.prg e SQLEXPRESS
Moderator: Enrico Maria Giordano
- Enrico Maria Giordano
- Posts: 8753
- Joined: Thu Oct 06, 2005 8:17 pm
- Location: Roma - Italia
- Has thanked: 1 time
- Been thanked: 4 times
- Contact:
Re: ADOFUNC.prg e SQLEXPRESS
mauri.menabue wrote:Ciao a tutti
Ho deciso di provare ad usare MSSQL EXPRESS per fare ciò ho pensato di iniziare
utilizzando le funzioni presenti in ADOFUNC.PRG mi chiedevo :
1) Se è il modo migliore per iniziare o è meglio usare ADORDD
Personalmente preferisco usare direttamente ADO che è ben documentato, funzionante e pieno di esempi in tutti i linguaggi, piuttosto che nasconderlo dietro funzioni o classi di cui poi non ricordo l'uso, visto anche che ADO lo uso anche sul web. E non ritengo valido l'uso di SQL attraverso strumenti come ADORDD. SQL è un concetto completamente diverso rispetto ai DBF e rischieresti di non usarne appieno le possibilità.
mauri.menabue wrote:2) Come eseguire una Rlock o Flock per evitare che due utenti lavorino
sullo stesso record o gruppi di record.
3) Se c'è necessità di fare manutenzione sulle tabelle Compattazione, reindicizzazione
No, non servono né lock esplicito né manutenzione. SQL funziona diversamente.
EMG
- mauri.menabue
- Posts: 161
- Joined: Thu Apr 17, 2008 2:38 pm
Re: ADOFUNC.prg e SQLEXPRESS
Ciao a tutti
Chiederei un ulteriore chiarimento riguardo questi aspetti :
1) E' possibile aprire più cursori (alias) per la stessa tabella ?
2) Per default non è necessario definire nessun tipo di lock, suppongo quindi che se due utenti
variano lo stesso record ed entrambe confermano la variazione l'aggiornamento del record
avvenga con una sequenza temporale, o meglio resta definitiva la variazione dell'ultimo
utente che conferma la transazione, mi chiedo se non esista una funzione che avverta un
utente che qualcuno (meglio che utente) sta già lavorando su quel record .
Chiederei un ulteriore chiarimento riguardo questi aspetti :
1) E' possibile aprire più cursori (alias) per la stessa tabella ?
Code: Select all | Expand
Es. (x)Harbour LOCAL cALIAS1 := cGetNewAlias("CLIENTI")
LOCAL cALIAS2 := cGetNewAlias("CLIENTI")
USE CLIENTI NEW ALIAS (cAlias1) ....
USE CLIENTI NEW ALIAS (cAlias2) ....
2) Per default non è necessario definire nessun tipo di lock, suppongo quindi che se due utenti
variano lo stesso record ed entrambe confermano la variazione l'aggiornamento del record
avvenga con una sequenza temporale, o meglio resta definitiva la variazione dell'ultimo
utente che conferma la transazione, mi chiedo se non esista una funzione che avverta un
utente che qualcuno (meglio che utente) sta già lavorando su quel record .
- Enrico Maria Giordano
- Posts: 8753
- Joined: Thu Oct 06, 2005 8:17 pm
- Location: Roma - Italia
- Has thanked: 1 time
- Been thanked: 4 times
- Contact:
Re: ADOFUNC.prg e SQLEXPRESS
mauri.menabue wrote:1) E' possibile aprire più cursori (alias) per la stessa tabella ?
Parliamo di DBF, giusto? Sì, certo che è possibile.
EMG
- mauri.menabue
- Posts: 161
- Joined: Thu Apr 17, 2008 2:38 pm
Re: ADOFUNC.prg e SQLEXPRESS
ciao Enrico
No, chiedevo se era possibile anche in SQL aprire lo stesso recordset con due alias - variabili diverse cosi come si faceva con i DBF.
Siccome sei esperto mi piaceva un tua chiarificazione sull'aspetto lock punto 2 del mio intervento precedente.
Grazie
No, chiedevo se era possibile anche in SQL aprire lo stesso recordset con due alias - variabili diverse cosi come si faceva con i DBF.
Siccome sei esperto mi piaceva un tua chiarificazione sull'aspetto lock punto 2 del mio intervento precedente.
Grazie
- Enrico Maria Giordano
- Posts: 8753
- Joined: Thu Oct 06, 2005 8:17 pm
- Location: Roma - Italia
- Has thanked: 1 time
- Been thanked: 4 times
- Contact:
Re: ADOFUNC.prg e SQLEXPRESS
In SQL non ha senso parlare di "alias", non esistono. Puoi aprire lo stesso recordset più volte senza alcun problema, visto che userai variabili diverse. Esempio in ADO:
EMG
Code: Select all | Expand
oRs1 = CREATEOBJECT( "ADODB.Recordset" )
oRs2 = CREATEOBJECT( "ADODB.Recordset" )
oRs1:Open( "SELECT * FROM Clienti", ... )
oRs2:Open( "SELECT * FROM Clienti", ... )
oRs1:MoveNext()
oRs2:MoveNext()
oRs2:MoveNext()
? oRs1:Fields( "Cliente" )
? oRs2:Fields( "Cliente" )
EMG
- Enrico Maria Giordano
- Posts: 8753
- Joined: Thu Oct 06, 2005 8:17 pm
- Location: Roma - Italia
- Has thanked: 1 time
- Been thanked: 4 times
- Contact:
Re: ADOFUNC.prg e SQLEXPRESS
Riguardo il lock su SQL, io non l'ho mai usato, neanche in programmi web molto complessi. Quindi non ti so aiutare.
EMG
EMG