Newsgroup: it.comp.lang.visual-basic
Titolo: Ado,Dao quale scegliere

Sicuramente questo problema è stato già affrontato!
Cmq il mio quesito è il seguente:
Devo convertire un gestionale scritto in clipper in Visual Basic.
La mia domanda e cosa devo usare?
Ado,Dao o qualcos'altro?
E il database va bene Access o serve qualcosa di più potente?
Grazie 1000 a tutti x le delucidazioni che mi darete

 E il database va bene Access o serve qualcosa di più potente?
Dipende dal numero di client e record... vedi posts precedenti!

 ha scritto nel messaggio
news:Rzwt8.20720$SR5.5...@twister1.libero.it...

Ciao
Anche io direi di usare la tecnologia ADO (ormai DAO è piuttosto superata)
Riguardo al DB da usare, dipende cosa fa il tuo programma
Se deve girare in monoutenza o pochissime postazioni di rete (ripeto
pochissime) ACCESS (MDB-file) va benissimo
Se deve girare in rete con postazioni (diciamo + di 4/5 e parecchio carico
di lavoro) potresti cominciare a pensare a un DBMS Client/Server come MS SQL
SERVER, INTERBASE/FIREBIRD, MYSQL, POSTGREESQL,SYBASE etc etc
Considerato che la tua applicazione deve essere convertita dal buo vecchio
Clipper secondo me va benissimo ACCESS
Ciao

 Clipper secondo me va benissimo ACCESS
se e' una multiutenza seria, io penserei fin da subito a qualcosa di piu'
serio, p.e. sqlserver usando intanto msde, o gli altri che hai detto.
se invece stiamo su access e in alcune condizioni che dici, pero', diciamola
tutta. se e' un mdb in locale o lan, monoutenza o quasi (anche se qui
qualcuno diceva di usare un mdb con 50 utenti senza problemi), ado e'
semplicemente un suicidio. ti perdi tutti i vantaggi di dao per non averne
nessuno di ado. a che pro allora ?
j.imho

 nessuno di ado. a che pro allora ?
Beh dovrebbe semplificare il porting verso MSSQL... in realtà non è così
dato che le sintassi delle query cambiano e anche i tipi dati. Proprio in
questi giorni stò studiando la possibilità di collegare il programma che
stiamo sviluppando a mysql, e mssql server. Per il momento mi stò occupando
della creazione del database via stringhe sql e mi stò scontrando con i tipi
di dati... sembra che lo facciano apposta alla M$oft per andare fuori
standard almeno con qualcosa! :-)
Già che ci siamo non sai se c'è un modo via sql per dire a jet che un campo
stringa deve poter contenere una stringa vuota?
Con adox avevamo risolto con la proprietà "Jet OLEDB:Allow Zero Length" ma
vorrei evitare di dover aggiungere anhce adox! :-(

 vorrei evitare di dover aggiungere anhce adox! :-(
sorry, ignoro quasi tutto in sql.
se non ti rispondono qui posta su icsd.

 se non ti rispondono qui posta su icsd.
stò googlando da questa mattina... è tutta colpa di access che mette di
standard un check che standard non è nemmeno in MSSQL!  :(

 "...NOME_CAMPO TIPO, NULL,..."
Esattamente vorrei trovare qualcosa da mettere nella CREATE TABLE (nomecampo
VARCHAR(20) ,...) per dirgli di permettere l'inserimento di stringhe vuote
nel campo... con adox avevo risolto ma dato che adox con MYSQL non funge per
creare le tabelle e con MSSQL ha delle limitazioni stavo cercando di fare
tutto tramite connessione e di creare delle stringhe personalizzate...
Il problema è che il programma deve essere in grado di creare il database
sia in formato MDB che su SQL server e magari MYSQL... stavo cercando di
semplificare al massimo la cosa ma mi sa che per jet dovrò utilizzare ADOX.
:-(
Un Lord Rayden sommerso dalla documentazione! :-(

 vorrei evitare di dover aggiungere anhce adox! :-(
Prova Cosi  per Jet
CREATE TABLE tavola1 ( campo1 TEXT(50) , campo2 TEXT (50) );
CREATE INDEX nuovoIndice ON tavola1 (campo1) WITH IGNORE NULL
Spero che ti possa aiutare
Ciao L'Oriundo

 CREATE INDEX nuovoIndice ON tavola1 (campo1) WITH IGNORE NULL
Così creo un indice ma non modifico la proprietà "Allow Zero Length" di
Access non sono riuscito a trovare niente anche perchè non è una proprietà
standard di un campo SQL... è una cosa che si è inventata la M$oft! :-(
Ciao

 vorrei evitare di dover aggiungere anhce adox! :-(
Tramite SQL non si puo. Tra l' altro con l' SQL di Jet non si puo' neanche
impostare la proprietà DefaultValue perche' non accetta CREATE TABLE Nome
Campo SET DEFAULT etc.
Mi sa che sarai costretto ad usare ADOX. Ma ti è proprio necessario
distinguere un campo Null da un campo con stringa a lunghezza zero ? Cioè i
due valori (direi piu' 'non valori') devono rappresentare due cose
differenti ?
Ciao
Michele

Attualmente gestisco fino 10 utenti .
Il carico di lavoro è di un gestionale x supermercati.
Quindi mi sembra di aver capito che la scelta si basa su MySql o MS Sql.
Giusto?
Avendo per il momento solo Visual basic per utilizzare una soluzione delle
due cosa mi manca?
Quale libro mi consigliate?
Grazie 1000 x l'auito che mi avete dato finora.

 ha scritto

di niente, se posso :)
dunque, vado molto a naso, quindi se ci sono altri consigli e' meglio.
vb + ado + mssql (mysql? oracle? interbase? senti gli altri che dicono).
msde e' gratuito ma (mi sembra di avere capito) strutturato in modo tale che
se hai piu' di 5 utenti contemporanei, dal 6° in poi aspettano.
libri: mi sembrava fatto bene "programmare ado", autore forse d. sceppa,
direi ms/mondadori (scusa l'estrema generalita', non ce l'ho sottomano).
se ti serve qc sulle basi dati in genere, consigli ne sono stati dati varie
volte. puoi anche chiedere su it.comp.sw.database.
unico dubbio sull'approccio, che rimpallo a chi se ne occupa di piu': dalla
via che si va su ado, non converrebbe impostare direttamente tipo intranet
con asp, vbs e/o altro ? in fondo, non risulta piu' semplice e piu' 'open' ?
ciao, a.

differenti ?
Esite un modo per mettere a null tramite jet il valore di un campo
testo che pirma conteneva qualcosa? :?
-- 
Visita il sito comune del NG: 
http://www.it-lang-vb.net
Visit: 
http://www.hardwaretips.com

 testo che pirma conteneva qualcosa? :?
Prova con UPDATE MyTable SET MyColumn = NULL WHERE MyColumn = Criterio
Ciao
Michele

Prova con UPDATE MyTable SET MyColumn = NULL WHERE MyColumn = Criterio
Ma cosě mi tocca buttare via i recordset (a volte non sarebbe una
cattiva idea) e sostiuire in ogni scrittura su database l'update del
recordset con stringhe sql! :(
