Newsgroup: it.comp.software.database
Titolo: Access o Oracle? ODBC... OLE DB.... ADO?

Ho incominciato a studiare la programmazione in ambito database e vorrei
farmi un po' l'idea di come stiano le cose al giorno d'oggi. Se per la
scelta del database ho capito che non ne esiste uno che vada bene per tutto,
ma bisogna  tener presenti diversi fattori, che, riassumendo, possono essere
identificati con la complessità del programma che si andrà a creare, quindi
partendo da Access per le piccole applicazioni domestiche monoutente,
finendo ad Oracle per le applicazioni complesse che gestiscono enormi
quantitativi di dati, passando per MySQL e MS SQL Server, vorrei sapere,
riguardo alla connettività, qual è in linea di massima il sistema più
valido: ODBC... OLE DB... ADO... Qualche considerazione in merito....
Grazie e Buon 2003 a tutti.
Filippo

 valido
Anche questo dipende dal tipo di applicazione che vuoi andare
a sviluppare. ODBC/JDBC vanno bene se vuoi mantenere una certa distanza
dal database ed eventualmente cambiare database in un futuro, un'accesso
diretto usando apposite librerie native e' migliore se vuoi una
maggiore rapidita' nel reperimento dei dati e cosi' via.
Davide

 Grazie e Buon 2003 a tutti.
Prego, e tanti auguri anche a te e a tutti i frequentatori di questo ng.
--
Lorenzo Benaglia
UGIdotNET - 
http://www.ugidotnet.org
UGISS - 
http://www.ugiss.org

farmi un po' l'idea di come stiano le cose al giorno d'oggi. 
Se ti stai appena affacciando al mondo dei database allora entra dalla porta
giusta. Lascia perdere ADO, DAO, OLEDB, ODBC, Access,  ActiveX, Asterix e
Obelix. In pratica tutto ciò che è targato M$ (a parte qualche sistema operativo
per usare software non M$). Tutti i prosdotti M$ sono patacche, e sono stati
svilippati da altre software house e la M$ ha solo messo il marchio con toppe su
toppe. M$ SQL Server non ha nulla di meno di Firebird anche faccendolo girare su
qualsiasi sistema operativo M$ (oltre il fatto che Firebird è multipiattaforma e
gira in modo estremamente bilanciato sia su Unix che su Windows). In più,
Firebird occupa una frazione di memoria sia RAM che su Disco rispetto a M$ SQL
Server, è freeware, open source, facilissimo da gestire, serve un numero
illimitato di client e tutto senza spendere una lira!
Ecco la prova:
1)
http://www.ibphoenix.com/main.nfs?a=ibphoenix&s=1041461641:23911&page=ibp_download
(in tutto  solo 2.7 MB) + 2 minuti per installarlo. In più Firebird gira
decentemente sul vecchio hardware che hai.
2)
https://sourceforge.net/projects/gmarathon/
Per la gestione di Firebird/Interbase (è freeware ed open source); ci sono
diversi ma questo è uno dei milgiori. Bastano 5 minuti per installarlo e
configurarlo.
3) Collegati a un database d'esempio (employee.gdb) e comincia a giocare con un
vero RDBMS, senza pagare nulla e sei in regola!
Per interfacciarti ad Firebird/InterBase va bene qualsiasi linguaggio. Ti
consiglio Ruby se non consci altri linguaggi. Ruby sembra il linguaggio che ogni
programmatore avrebbe sognato.
Provalo. 
http://www.ruby-lang.org/en/
Un consiglio. Tieniti lontano dalla M$ e da tutta quella gente la propaganda
perché non finirai mai di pagare alla M$ e ai suoi propagandisti.
.NET è puro vaporware; è instabile, ingombrante ed è utile solo per la M$; a
questo punto è meglio Java, almeno è multipiattaforma e da anni che sta in giro.
Non dimenticare poi la libertà e l'indipendenza usando software libero, aperto e
di grande qualità.
jk

 questo punto č meglio Java, almeno č multipiattaforma e da anni che sta in
giro.
Tuttavia cerca di essere piů serio: le tue parole sembrano quelle di un
quindicenne che appena messo le mani su una tastiera.
Cristiano.

 Cristiano.
UAZ UAZ!
chi si da alla lettura dei giornaletti di informatica (senza andare troppo 
lontano e senza fare pubblicità), sa che jk ha esperienza da vendere!
che a volte si lasci prendere dall'entusiasmo che contagia chi usa ib?
-- 
Punkarruso
mail:punkarruso chiocchiolona despammed punto com
pubblicità progresso:
http://www.efluxa.it/netiquette/dis.html

 Prego, e tanti auguri anche a te e a tutti i frequentatori di questo ng.
auguri a tutti!
-- 
Punkarruso
mail:punkarruso chiocchiolona despammed punto com
pubblicità progresso:
http://php.dopoil.com/faq.php

 rdbms!!
No, no...
Stai facendo confusione: parli di MS Jet e lo identifichi con Access.
Quest'ultimo è un generatore di FE per DB con caratteristiche analoghe ad
ambienti tipo VFoxPro, PowerBuilder, Omnis, Alpha e via dicendo.
Microsoft Jet è il noto motore Desk che puoi scegliere di usare come BE per
applicazioni Access, VB, VC++, .Net o altri.
Se tuttavia ti va di usare _o devi usare_ altri motori (sia con ODBC che
ADO) liberissimo di farlo con tutti gli ambienti sopra citati.
Noi, proprio con gli Access Data Project (.ADP per semplicità) gestiamo
Front-End legati a SQL- Server per la gestione dei dati di produzione della
nostra azienda.
I dati sul carico macchine e le statistiche di produzione arrivano in
automatica, e il Server SQL dopo anni di onorato lavoro gestisce normalmente
carichi di decine di milioni di records.
Prestazioni buone, nessun problema d'affidabilità: il PC Server è una bella
macchina, le postazioni in rete una trentina.
Con questo non voglio e non posso far confronti con altri prodotti che non
conosco, però le precisazioni sono d'obbligo.
Aggiungo che la qualità di questo ng. si sta riducendo rispetto al passato:
invece che risolvere problemi reali spesso si passa il tempo cazzeggiando
come scolaretti.
Saluti.

 cazzeggiando come scolaretti.
con questo cosa intendi dire? che IO cazzeggio come uno scolaretto?
e chi lo dice che un ng è solo un posto dove si risolvono problemi (reali o 
meno)? per quel che ne so, su un ng si 'discute' e si prendono in 
considerazione vari aspetti, qui in particolare di database.
IMHO, se la qualità dei ng si decidesse in base alle affermazioni come la 
tua ultima, ne avremmo di bel tempo!
ciao
-- 
Punkarruso
mail:punkarruso chiocchiolona despammed punto com
pubblicità progresso:
http://www.efluxa.it/netiquette/

 tua ultima, ne avremmo di bel tempo!
Sì, può essere.
Ciao.

 fatto il puntiglioso.
non l'ho usata per primo, comunque ormai non ha importanza!
se la prossima volta che posto mi viene in mente acchecess, cercherò di non 
nominarlo!
:-)
-- 
Punkarruso
mail:punkarruso chiocchiolona despammed punto com
pubblicità progresso:
http://www.gnu.org/gnu/why-gnu-linux.it.html

Cristiano.
Spiacente! Se non tieni in considerazione i miei consigli allora peggio per te!
Comunque ti dò un'altra chance. Leggi questi articoli su Ruby/Interbase:
http://www.oltrelinux.com/forums/list.php?f=153
E confronta (meglio se con codice/applicazioni) con altre soluzione che sai, poi
torna a discutere, almeno, su fatti obiettivi.
jk

 torna a discutere, almeno, su fatti obiettivi.
In rapporto alle tue constatazioni sulla qualità di Ruby/Interbase prendo
atto che si tratti di prodotti eccellenti.
Fatto questo, t'invito a fare un giro su iclvb e confrontarti con gli
"imbecilli" che sviluppano con .NET.
Cristiano

"imbecilli" che sviluppano con .NET.
Ci vai tu che ti trovi in sintonia con loro.
jk

 per usare software non M$). Tutti i prosdotti M$ sono patacche
Strano... guardando i benchmark su 
tpc.org
 sembra solo secondo ( e non
sempre ) a Oracle.......
L'invidia che brutta bestia.....

sempre ) a Oracle.......
http://www.siia.net/codies2002/finalists.html
jk

 Ci vai tu che ti trovi in sintonia con loro.
Mi aspettavo questa risposta: tipico Lunixista smanettone, tronfo e
ignorante al di fuori del suo orticello.
Ti trovi bene con Ruby e Interbase, ritieni siano prodotti di alta qualità?
Bene: scrivilo, documentalo, dimostralo ma non vedo perchè dovrebbero essere
gli unici strumenti *seri* con cui sviluppare soluzioni di database.
Sei tanto pistola da credere veramente che .NET, VB, VC++, Sql Server e
altri prodotti di sviluppo MS utilizzati da milioni di persone nel mondo
siano bufale?
Se lo pensi, sei un coglione.
Diversamente ti piace Trollare.
In entrambi i casi datti una regolata: questa è un'area pubblica.
Ciao, Cristiano.

ignorante al di fuori del suo orticello.
Ignorante veramente non credo di esserlo. Ho una laurea in fisica teorica e una
in architettura e sviluppo software professionale da oltre 20 anni per diverse
multinazionali in diversi campi, in diversi linguaggi per Unix,  OS/2 e anche
Windows da quando era scritto in Turbo Pascal! 
Vedi che non azzecchi una! Fai veramente pena.
-------
Per non perdere il vero problema di vista e qui concludo. All'amico che ha
chiesto sui database ODBC, JDBC, ADO... rispondo ancora una volta con estrema
sincerità: evita i prodotti M$ finché non sei obbligato a farlo (scelte
aziendali...). Per accedere ad un database cerca di usare direttamente le API
del database; è molto più trasparente e performante. Ci vuole un po' di studio
in più ma i risultati saranno ottimi. Per lo sviluppo di applicazioni
client/server la combinazione Delphi/Firebird è assolutamente imbattibile. Credo
che ci siano versioni free di Delphi sia per Windows sia per Linux. Non ti
consiglio Linux come desktop ma come server è eccellente. Perl, PHP, Python,
Ruby, Erlang vanno tutti bene come interpreti e linguaggi di scripting per le
applicazioni web. Per gli RDBMS prova Postgres (solo in ambiente Unix) e
Firbird.
jk

 che ci siano versioni free di Delphi sia per Windows sia per Linux.
Entrambe le affermazioni sono decisamente discutibili, non dico vere o false
in assoluto, ma decisamente discutibili.
Ogni rad è il migliore per chi è abituato a usarlo.
Avrai vent'anni d'esperienza ma devi ancora crescere ... emotivamente.
Ciao, Cristiano

 Ciao, Cristiano
 
 ____  _     _____    _    ____  _____    ____   ___  _   _ _   _____ 
|  _ \| |   | ____|  / \  / ___|| ____|  |  _ \ / _ \| \ | ( ) |_   _|
| |_) | |   |  _|   / _ \ \___ \|  _|    | | | | | | |  \| |/    | |  
|  __/| |___| |___ / ___ \ ___) | |___   | |_| | |_| | |\  |     | |  
|_|   |_____|_____/_/   \_\____/|_____|  |____/ \___/|_| \_|     |_|  
 
 _____ _____ _____ ____     _____ _   _ _____    _____ ____   ___  _     _     
|  ___| ____| ____|  _ \   |_   _| | | | ____|  |_   _|  _ \ / _ \| |   | |    
| |_  |  _| |  _| | | | |    | | | |_| |  _|      | | | |_) | | | | |   | |    
|  _| | |___| |___| |_| |    | | |  _  | |___     | | |  _ <| |_| | |___| |___ 
|_|   |_____|_____|____/     |_| |_| |_|_____|    |_| |_| \_\\___/|_____|_____|
 


Contesti dati certi ed indipendenti con questa fuffa?
And the winner is.......


Prima citi tra i pregi di Interbase la portabilità poi elimini ogni forma di
portabilità consigliando di utilizzare le API...
Aggiungo Delphi per Linux non esiste... il prodotto si chiama kylix e è free
solo per progetti open-source ... (senza considerare che la versione free
non è adatta allo sviluppo client-server)
Io consiglio al nostro amico MSDE + oleDB...

Ora che il thread si č concluso, credo di avere le idee ancora abbastanza
confuse. D'altra parte chiedere "qual'č il metodo piů idoneo", č fare una
domanda retorica. E quindi mi aspettavo diverse posizioni. E' stato comunque
interessante conoscere l'esistenza di altre soluzioni come il Firebird, che
ignoravo completamente e che ho installato (non ci ho ancora capito un
cacchio perň, ma credo che non sarebbe stato diverso anche con altri
prodotti).
Per quanto mi riguarda, l'impostazione che mi ero dato, avendo una certa
predilezione per il C, era quella di partire dal Visual C++, in ambiente
Windows quindi, e studiare uno dei metodi di connessione quali ODBC, OLE DB
o ADO, lasciando ad un secondo momento la scelta del database. Credo che per
il momento continuerň con questa linea.
Vi ringrazio per le vostre opinioni.
Ciao e speriamo che ora il livello del ng si possa risollevare :-)
Filippo

non è adatta allo sviluppo client-server)
Non ho mai usato Kylix su Linux e non uso nemmeno XWindow. Per il desktop
Windows ha ancora grandi margini di vantaggio. Per me Linux è ancora un server e
lo uso con molta soddisfazione. Penso chi sviluppa oggi per Linux come desktop
deve avere molto coraggio.
Comunque sono certo che la versione free è adatta a qualsiasi sviluppo. Basta
solo  conoscere l'Object Pascal.
jk

il momento continuerò con questa linea.
Molto bene. Visto che mastichi il C/C++ allora devi andare qui prima:
http://www.ibpp.org/
Ci sono all'interno del pacchetto esempi pronti per il VC++, e il Borland C++,
il GCC... 
Buon divertimento.
jk

 il GCC...
Interessante.... Ho scaricato la versione n. 1.0 della libreria (la 1.1 da
diversi errori in compilazione?).
Anche solo a livello didattico, mi sembra un ottimo strumento.
Filippo

Anche solo a livello didattico, mi sembra un ottimo strumento.
Uso quella libreria da un paio di anni, insieme ad altre, con il Borland C++ (il
compilatore C++ free a riga di comando) sotto Windows e con il g++ sotto Linux e
funziona benissimo. Studia quel modulo bene e sono sicuro che arriverai ad
ottimi risultati. Non solo che riuscirai a scrivere applicazioni client/server
snellissime e veloccime, ma capirai come funziona InterBase/Firebird (cioč un
vero RDBMS) internamente perché non ti nasconde assolutamente nulla. Puoi
perfino andare a curiosare nel codice sorgente di Firebird per vedere come
esegue alcune operazioni!
jk
--
Jilani Khaldi
http://www.jilani.net