Newsgroup: it.comp.lang.visual-basic
Titolo: Consiglio DB [non il solito vecchio argomento!]

Ciao
richiedo un consiglio notturno
(no, a quest'ora non avevo niente di meglio da fare)
In un applicativo (siamo in ambito di raccolta dati di produzione da
diverse apparecchiature industriali collegate via ethernet) abbastanza
complesso vorrei inserire la capacità di salvare un log di eventi di
natura diversa (es: errori di vb, file mancanti, problemi di rete,
dispositivi non collegati, mancata risposta dei dispositivi ai ping,
accensione, spegnimento, modifiche effettuate alle opzioni, ecc ecc)
Pensavo quindi ad un db, così strutturato:
CAMPO1: data e ore dell'evento
CAMPO2: famiglia (es: ErroriVB, ErroriRete, ModificaOpzioni)
CAMPO3: nome della funzione che ha generato l'evento di log
CAMPO4: descrizione dell'evento
CAMPO5: varie ed eventuali
In questa maniera (suddiviso in campi) il log potrebbe diventare molto
semplice da consultare, potrebbe spiegare al cliente eventuali "strani
comportamenti", specialmente quando qualcuno ci pasticcia o scollega i
cavi, o al limite aiutare noi a risolvere vari bug.
Per essere molto semplice da leggere non penso quindi ad un txt, ma ad
un db (eh si, a quest'ora sono proprio un volpino!).
Escluerei MBD (ho letto parecchie controindicazioni), passerei quindi ad
un sistema client-server, e il server risiederebbe in locale, sullo
stesso PC dell'applicativo).
Quale DB? Leggendo un bel po' di post vecchi ho escluso PostgresQL (in
ambito win non sembra molto veloce, e poi non ho trovato funzioni da
utilizzare cut&paste), escludo MySQL (per via della licenza a pagamento
su installazioni commerciali), e mi rimane MSDE.
Domanda 1: è vero che mi basta la mia unica licenza di VB6 pro per
installare su numerosissimi PC tutte le copie di sql server che voglio?
Domanda 2: MSDE è Microsoft SQL con la restrizione dei 5 utenti, dico
bene? (5 utenti sono pure troppi in questo caso, me ne bastano 2: quello
che scrive il log, e quello che lo legge!)
Domanda 3 (banale): immagino ci saranno diversi OCX free (magari della
stessa MS) per lavorare comodamente con MSDE, dico bene? Se si, dove li
trovo? Nella mia cartella Windows? Su internet? Su... ?
Domanda 4: (importante prima di iniziare il lavoro) potrebbe essere una
buona idea la mia scelta di MSDE per questo scopo? Voi cosa avreste
fatto? (mdb, txt, jpg steganografata...)
ciao e grazie (sbadiglio, mi è venuto finalmente sonno)
Marco


Potresti installarti SQLServer2005 Express.
Dovrebbe avere meno limitazioni a livello di utenti, hai già l'ide gratuito, 
e via OLEDB non dovrebbero esserci problemi.
Ciao 

 e via OLEDB non dovrebbero esserci problemi.
Io consigliere ancora MSDE 2000 perché SQL Server 2005 Express è più esoso
in termini di risorse e richiede l'installazione del framework 2.0. 
Il vantaggio della limitazione degli utenti, essendo una configurazione
stand lone, si perde. I 2 GB di dimensione max del database di MSDE
rispetto ai 4 GB di SQL Express penso non siano un impedimento.
Anche per MSDE 2000 esiste un manager gratuito (
http://www.asql.biz/it
)
Ciao
-- 
Stefano "HappyMan"
http://www.thepoint.info

 e via OLEDB non dovrebbero esserci problemi.
Ciao Fabio
SQLServer 2005 Express può essere facilmente gestito anche da VB6 o
richiede ocx o oledb utilizzabili solo da VB2005?

 CAMPO5: varie ed eventuali
Io separerei il campo data/ora e li metterei non stringa ma del tipo
giusto.
Aggiungerei anche un identificativo della macchina e dell'utente se il tuo
programma ha piů postazioni.
Lo potresti utilizzare anche per loggare le varie operazioni fatte, es.
21/11/2006 Utente=PIPPO Macchina=1 Modificato Articolo 100
In modo che se qualche cliente lo richiede puoi fornirgli un log delle
operazioni fatte dai suoi utenti.
Forse ti basta un MDB da usare come file di testo "complesso".
Altrimenti puoi usare Firebird che č gratuito, relazionale e supporta SP,
generatori e trigger.
-- 
DBMS Firebird
VB6 + Ado

 
MSDE 2000 è lo stesso di VB6, oppure...? E nel caso sia diverso, per
quanto riguarda le multi installazioni e la licenza? E infine... sempre
nel caso non sia lo stesso di VB6, i componenti per utilizzarlo nella
maggiore semplicità possibile sono utilizzabili anche da VB6
Ciao e grazie

Io dire di usare le Mysql che funzionano benissimo cov vb6 e .net 
comunicando tramite odbc driver
"Andrea [Work]" <nos...@invalid.invalid> ha scritto nel messaggio 
news:1cybgslk55eub.m...@40tude.net...


 maggiore semplicità possibile sono utilizzabili anche da VB6
Devi separare ciò che è di competenza del linguaggio di programmazione da
ciò che è di competenza del server SQL, per cui non ha senso dire "MSDE
2000 è lo stesso di VB6": tu puoi usare MSDE 2000 con un programma scritto
in VB6 o VB.Net come SQL Express 2005 con VB6 o VB.Net.
Io in effetti sviluppo e gestisco progetti con queste diverse combinazioni.
MSDE 2000 come SQL Express non hanno bisogno di "componenti" particolari
che non siano già presenti nel package di Visual Basic (6 o .Net)
In VB6 puoi utilizzare gli RDO (ODBC based, "vecchi") o gli ADO (tecnologia
OLEDB).
In VB.Net hai tutto ADO.Net con i relativi namespace (ODBC, OLEDB,
SQLClient, etc) già incluso nel framework.
Ciao
-- 
Stefano "HappyMan"
http://www.thepoint.info
E-Shop Software

 comunicando tramite odbc driver
escluse a causa della licenza di ri-distribuzione in applicazioni
commerciali. Leggere tutto il thread prima di postare :-)

Stefano 'HappyMan' ha scritto:
[...]
ok grazie per le delucidazioni
marco

 generatori e trigger.
uhmm.. questo non lo conoscevo. Mi informo
grazie
marco

 tramite odbc driver
Beh, pagare una licenza di Mysql solo per un log, sinceramente, mi 
sembra al limite del masochismo...
Alberto
-- 
Carlo Rubbia: Siamo su un treno che va a trecento chilometri all'ora, 
non sappiamo dove ci sta portando e, soprattutto, ci siamo accorti che 
non c'è il macchinista.

 fatto? (mdb, txt, jpg steganografata...)
Io uso MSDE2000 (rigorosamente SP4), ma se la connessione verso MSDE 
non si apre, la function di logging va a scrivere su un txt come 
extrema ratio.
Ciao
Alberto
-- 
La bellezza è opinabile, sulla bruttezza sono tutti d'accordo.

 C'è il provider SqlOleDb già incluso in MDAC.
bene
ciao e grazie
marco

 grazie
Com'č che si chiama quello nuovo di Microsoft?
Sql Server Mobile?
Quello che ti porti dietro una dll e hai tutto un mini motore sql... forse 
perņ solo per .Net... č ora che mi aggiorno un po' :P
Ciao 

 Forse ti basta un MDB da usare come file di testo "complesso".
Dopo varie prove ho optato per un mdb... ma cosa intendi per "complesso?"
ciao e grazie

 Dopo varie prove ho optato per un mdb... ma cosa intendi per "complesso?"
Nel senso che lo utilizzi come un file di testo, e ti offre la possibilità
di fare query di ricerca, incrociare i dati ecc, tutto in maniera
automatica, con un file di testo dovresti fare tutto a mano, con la
scomodità del caso.
Come a me stesso hanno consigliato, access se usato ad esempio al posto di
file di testo, per settaggi e impostazioni e Log può essere molto valido;
anche se come DB magari non è un granchè.


 anche se come DB magari non è un granchè.
Bene, sono allora contento della scelta che ho fatto. Installare Frebir
o MSDE solo per un log non mi sembrava proprio una soluzione
dimensionata ad hoc
ciao
Marco