PDA

Visualizza la versione completa : reti e delphi 6


pegaso22
05-09-2003, 10:44
Ciao a tutti, avrei bisogno di un consiglio:

sto realizzando un software gestionale con delphi 6 che deve funzionare in rete locale su 2 o 3 postazioni.
Cosa mi consigliate di usare per gestire i database?
Avrei bisogno di una spiegazione, se possibile, un pò dettagliata perchè sono alle prime armi con i database in rete
Vi ringrazio.

alka
05-09-2003, 11:44
Credo che tu abbia bisogno semplicemente di un motore database relazionale in grado di funzionare in rete.

Da principio, escluderei tutti quei formati e quelle tecnologie orientate all'utilizzo desktop, cioè basate su file, non ottimizzate per l'uso in rete.

Se fossi in te, darei una sbirciata ad InterBase. Si tratta del database client/server commerciato dalla Borland giunto alla versione 7; prima di tale versione, la Borland ha rilasciato alla comunità i sorgenti della versione 6.01, divenuta così OpenSource, dalla quale si è poi avviato lo sviluppo del database FireBird.
Puoi trovare diverse informazioni a riguardo sul sito IB Phoenix (http://www.ibphoenix.com), il portale che fornisce assistenza tecnica (a pagamento) per aiutare gli sviluppatori che utilizzano InterBase e FireBird; da questo sito, puoi scaricare anche documentazione ufficiale e giungere sui siti dei rispettivi database per scaricare le ultime release.

Credo che InterBase 6.01 sia ottimo a livello prestazionale e relativamente semplice da utilizzare; la parola "relativamente" è d'obbligo poichè la gestione di database client/server è più complessa rispetto ai sistemi "desktop" come Access, Paradox, ecc.

InterBase supporta trigger, stored procedure, view e tanti altri elementi che permettono di eseguire operazioni sul server senza generare traffico di rete intensivo e soffocare i singoli client.

Come alternativa, potresti valutare anche l'uso di MySQL, liberamente scaricabile dal sito ufficiale (http://www.mysql.com). Devi comunque pagare una licenza commerciale se distribuisci il tuo applicativo assieme al database.

Infine, potresti anche valutare MSDE per passare a SQL Server oppure Oracle, ma a livello di costo e complessità, considerando soprattutto ciò che devi sviluppare, mi sembra sia un po' come sparare ad una formica con un cannone. MSDE ti permette di migrare velocemente ad SQL Server, ma non può essere utilizzato (teoricamente, da licenza) dall'utente finale e comunque supporta un limitato numero di connessioni contemporanee ed è abbastanza lento.

Il mio suggerimento definitivo ricade quindi su InterBase, poichè ha tutto, il costo può essere anche zero, è performante e abbastanza leggero...anche in virtù di quello che ti sto per dire.

Parliamo del "lato Delphi": escluderei completamente l'uso del BDE, piattaforma assolutamente obsoleta per l'accesso ai dati.
Hai a disposizione diverse soluzioni: i componenti dbGo for ADO ti permettono di effettuare connessioni a database tramite la piattaforma Microsoft di accesso ai dati ADO; questi componenti saranno essenziali se intenderai usare MSDE, SQL Server o altre soluzioni Microsoft per i quali esiste un driver OLE DB.
Se intendi utilizzare un database differente, ad esempio MySQL, puoi servirti dei componenti dbExpress, la nuova tecnologia Borland per l'accesso ai dati, leggera e multipiattaforma (presente anche su Kylix), oppure dei componenti ZeosLib, che trovi sul sito SourceForge (http://www.sourceforge.net).

Se scegli InterBase, puoi servirti dei componenti IB Express (IBX): si tratta di componenti creati per accedere nativamente ai database in formato InterBase e gestire tutti gli elementi previsti, nonchè amministrare il server IB (aggiungere, modificare ed eliminare utenti, eseguire backup e restore, shutdown del database, ecc.). Puoi usare anche i componenti dbExpress, sebbene questi - essendo generici - non consentano l'accesso nativo ad alcuni elementi del database, ti permettono comunque di diminuire le modifiche necessarie per passare, un giorno, se vorrai, ad un altro database, oppure se desideri effettuare il porting della tua applicazione su Linux (per il quale InterBase è disponibile).

In azienda abbiamo appena terminato un gestionale realizzato in Delphi 7, completamente basato sui frame sfruttando la Visual Form Inheritance, usando i componenti dbExpress, InterBase 6.01 e i Rave Reports per la progettazione delle stampe; sebbene questi ultimi abbiano bisogno di molto "rodaggio" (sono un prodotto giovane), direi che tutto ha avuto un esito a mio avviso eccellente.

Qualsiasi decisione tu prenda, leggi attentamente tutta la documentazione possibile per sapere a cosa vai incontro e poter dare una spiegazione logica al funzionamento dei singoli strumenti.

Spero di essere stato sufficientemente prolisso nella spiegazione.

Ciao! :ciauz:

pegaso22
05-09-2003, 16:20
Grazie Alka per le delucidazioni, penso che più chiaro di così sia difficile. Ora resta soltanto(da parte mia) imparare a usare ciò che mi hai suggerito. Credo che provero con Interbase, sono sicuro che avrò la necessità di ulteriori chiarimenti (su interbase) visto che non ciò mai messo mano.
Ti ringrazio per l'aiuto.
Saprò a chi rivolgermi in caso di necessità... sperando sia sempre così disponibile.
Ciao e grazie di nuovo.

pegaso22
05-09-2003, 20:00
Ciao alka, sono sempre io...
Ti sto per chiedere una cosa che penso sia difficile da soddisfare ma ci conto comunque.
Mi potresti mandare alla mia e-mail un esempio client/server fatto con interbase così che posso iniziare a fare delle prove e partire da qualche base più concreta.
Mi basterebbe la possibilità di accedere e vedere come si modifica un record su un database che risiede in una postazione che non è la mia essendo io client e l'altro server.
E poter modificare sia io(client) che il server dei dati nel database.
Grazie.

alka
05-09-2003, 20:04
Cosa ti serve di preciso? Un'applicazione Delphi o un database?

Posso vedere se ho qualche esempio ad hoc da inviarti nel weekend.

P.S.: ricordati che devi installare InterBase per poter utilizzare il database.

P.P.S.: scrivimi in privato e lascia comunque il tuo indirizzo email.

Loading