Newsgroup: it.comp.lang.visual-basic
Titolo: Una mia curiosità su VB (contro Delphi)

Ciao a tutti!
oggi ho riscoperto questo NG,e ne approfitto per fare quelle domande del
tipo"Chi siamo, da dove veniamo?" :-)
La mia prima esperienza di linguaggio Object Oriented è stata Delphi 5, col
quale ho scritto qualche programmino semplice, più che altro per imparare ad
usarlo..e poi il mondo del lavoro ha voluto che imparassi Visual Basic
6,vabbè..
Ma una domanda che mi sono fatto da subito è questa: perchè VB usa tutte
queste  modalità di accesso ai dati (adodb.recordset, adodb.connection,
adodb.command), ognuna con sintassi e caratteristiche diverse??
Con Delphi, per i miei ormai vaghi ricordi, usavo solo la recordset, e
tranquillamente giravo, cercavo, rimuovevo,aggiungevo, cancellavo, ecc,
senza impazzire come ho fatto i primi mesi leggendo i vecchi programmi VB
scritti dalla mia azienda..
Questione di compatibilità col passato? Oppure vantaggi enormi di cui non mi
sono ancora accorto??
Ciao Luca
--
"Credo che esistano due Dio,
ognuno dei quali è convinto
che sia l'altro ad occuparsi di me."
                                  Ashleigh Brillant
--
"Credo che esistano due Dio,
ognuno dei quali è convinto
che sia l'altro ad occuparsi di me."
                                  Ashleigh Brillant

 sono ancora accorto??
Piccolo esempio:
Devi accedere a due tabelle su un DB Sql-Server.
Ti servono due recordset.
Se apri il recordset inserendo la stringa di connessione nel recordset
stesso, ti apre due accessi sul server, e quindi ti brucia due licenze.
Se invece apri una connessione, e poi setti i due recordset sulla stessa
connessione, hai due recordset con una sola licenza utilizzata.
Ciao
Alberto

 connessione, hai due recordset con una sola licenza utilizzata.
p.f. spiega meglio...
sqlserver a ogni connect scala una licenza ?
a prescindere dall'username che la applica ?
ma sono idioti ?
nel caso, solo l'ultima domanda e' retorica.
j.si
'

 ma sono idioti ?
A me non sembra sbagliato.
Ciao
Alberto

 A me non sembra sbagliato.
per il loro budget no senz'altro. ma in un mondo che varia il costo secondo
il # o il clock dei processori o il # degli utenti mi sento a disagio.
prendo n win2k
prendo m server win2k
che caspita ci faccio secondo loro con un server ? sol32.exe ? no, ho bsogno
di n licenze.
che squallore.
ciao, a.

 A me non sembra sbagliato.
per il loro budget no senz'altro. ma in un mondo che varia il costo secondo


 il # o il clock dei processori o il # degli utenti mi sento a disagio.
Quella del clock dell'AS/400 è una cosa ai limiti della truffa.
Paghi una macchina, e se vuoi più clock ti cambiano un parametro del bios.
Per quanto riguarda invece il SW, bisogna sempre tenere presente una cosa:
chi sviluppa lo fa per denaro. Innanzitutto la Microsoft. Quella di far
pagare le licenze per numero di utenti è un modo secondo me corretto di
distribuire il costo a seconda del reale utilizzo.
Se MS intende incassare, diciamo, 3000 Bambanos per ogni Sql-Server venduto
(considera che ogni licenza comprende anche due incident, e quando io ne ho
avuto bisogno hanno dedicato ore ed ore al telefono con me), potrebbe
chiedere ad ogni cliente la stessa cifra.
Ma, come sai, ci sono aziende che usano Sql-Server per 50 utenti, ed altre
che lo usano per 10 utenti. E' corretto che si offra a chi ha meno utenti un
possibile risparmio.
Quindi chi ha 10 utenti pagherà 1000Bambanos , e chi ne ha 50 pagherà
5000Bambanos.
Ciao
Alberto
PS: non sono aggiornato sul cambio fra il Bambano e l'Euro.

 PS: non sono aggiornato sul cambio fra il Bambano e l'Euro.
se il bambano e' la valuta vigente in ms, credo 20:1 o 8:1, con 8 da
sdraiare :P
mica solo chi sviluppa lo fa per denaro. ma c'e' modo e modo. ok tutto: esco
adesso da uno scambio di telefonate. mi serve assistenza sui sabati
d'agosto. nb: improbabile: potrebbe mollarci un dhcp altrove che mi assegna
gli ip mascherati e no, e nel caso qui manco si stampa (le stampanti le
vediamo in tcp). ma e' successo una volta in 4 anni. si tratta nel caso di
attivare a manina il secondario. 15-30'.
preventivo: 5 ore * 5 sabati a 55 euro
(mi e' andata bene. se batteva sul 9...)
il preventivo era per lo standby. 110 carte, calcolando che puo' stare in
standby per altre 100 persone...
a quei soldi, il sistemista lo voglio _qui_, e se gli dico spolvera il
motherboard lo deve fare e poche storie. e niente pausa caffe', si fa due
moka a casa prima.
queste sono le cose per le quali mi metto davanti a un tavolo a discutere. e
pretendo di pagare a chiamata. alzi pure la tariffa, ma a chiamata. vediamo
a quanto mi mette quella mezz'ora...
invece questo anzi quello e' esattamente lo stile ms.
la base non e' 1, e' 100, quando potrebbe tranquillamente essere 50 o 30 o
10 (nel caso delle licenze win e office, se ti fanno pagare .50e gia' ci
guadagnano). poi ti dicono "su 100 ti scontiamo 40". che gentili. mi sento
un cammello nella cruna di un ago. mi viene il soffoco.
ciao, a.
a prop., sul grazioso post stilistico: sentirsi _come_ / sentirsi un
cammello non e' una metafora, e' una similitudine. _fare_ salti di gioia, se
uno sta seduto o comunque non salta davvero, e' una metafora (sopita, per
l'esattezza).

 connessione, hai due recordset con una sola licenza utilizzata.
Albe, questo lo sapevo, ma mi hai fatto venire dei dubbi:
se faccio:
CONNESSIONE_1.Open "stringa_connessione_bla_bla_bla"
rs_1.Open comando_sql, CONNESSIONE_1, tipo_apertura, tipo_lock
rs_2.Open comando_sql, CONNESSIONE_1, tipo_apertura, tipo_lock
ovvero se, pur mettendo la stringa di connessione, NO, ANZI, L'OGGETTO
CONNECTION GIA' APERTO, ed è lo stesso oggetto per i due recordsets, uso una
sola licenza, vero???!!!

 sola licenza, vero???!!!
Sì.
In effetti hai specificato bene il punto:
Nell'apertura del recordset, tu indichi un OGGETTO ADODB.CONNECTION, già
aperto e valido, per cui viene utilizzato quello.
Il problema nasce quando si specifica la stringa di connessione al posto
dell'oggetto.
Ciao
Alberto

 dell'oggetto.
Chiarissimo!
Beh, approfitterei ancora, visto che siamo in argomento:
Se io ho 5 database separati e l'applicativo, in un certo momento
(praticamente sempre...) li usa tutti, quindi ho 5 oggetti Connection
diversi e tutti aperti/attivi, ai fini del conteggio delle licenze usate,
devo conteggiare ( 5 * numero dei clients diversi e contemporanei), vero?
Grazie ancora.

 devo conteggiare ( 5 * numero dei clients diversi e contemporanei), vero?
Sě.
Considera perň che tu parli di 5 DB, non di 5 server. Se questi 5 DB sono su
un solo Server, puoi sfruttare una stessa connection, realizzando anche
query incrociate fra i diversi DB (a condizione che il login sia autorizzato
a ciň...). In questo caso sfrutteresti una sola licenza.
Ciao
Alberto

 a ciò...). In questo caso sfrutteresti una sola licenza.
Ecco, 'sto fatto mi ... sfugge un po'.
Se non devo fare query incrociate (chiaro, in questo caso, mi appoggio su un
db/connection e l'altro/altri li specifico in modo esplicito anteponendo
nella query il "nomedb.dbo." alla tabella di competenza) come faccio ad
avere una sola (per esempio) connessione e, solo con quella, poter aprire
"di qua e di là" recordset _separati_ e _contemporaneamente_ disponibili?
Non credo si possa... però sarei felice di essere smentito ;-)

 Non credo si possa... però sarei felice di essere smentito ;-)
Ti faccio un esempio con sintassi spannometrica:
Connessione.Open
Set RS1.ActiveConnection=Connessione
Set RS2.ActiveConnection=Connessione
Set RS3.ActiveConnection=Connessione
Set RS4.ActiveConnection=Connessione
Set RS5.ActiveConnection=Connessione
RS1.Open "Select * from DB1.dbo.Tabella"
RS2.Open "Select * from DB2.dbo.Tabella"
RS3.Open "Select * from DB3.dbo.Tabella"
RS4.Open "Select * from DB4.dbo.Tabella"
RS5.Open "Select * from DB5.dbo.Tabella"
A questo punto hai 5 recordset, aperti su 5 DB diversi, avendo sfruttato una
sola Connection, e una sola licenza.
Ciao
Alberto

 sola Connection, e una sola licenza.
Capitooooo, come uno grande! Grazie!!!