Newsgroup: it.comp.lang.delphi
Titolo: Alternativa DBF

Ciao a tutti, io ho un database di 420 mb composto di circa 1.700.000 record
in un file DBF; siccome questo file mi crea precchi problemi vorrei
convertirlo in uno piů "stabile" e che non abbia problemi di dimensioni e
soprattutto che non si "arrabbi" se gli si accede spesso.
Vi prego formitemi un'alternativa......
Grazie ciao a tutti

soprattutto che non si "arrabbi" se gli si accede spesso.
Un'alternativa per una mole di dati tale è solo un DBMS serio.
Di gratuito c'è Firebird, molto buono, ma necessita di qualche
conoscenza specifica per essere usato al meglio.
http://www.firebirdsql.org
-- 
Andrea Laforgia - a.laforgia(at)
libero.it
"There are three kinds of people in this world; 
 those who are good at maths and those who aren't".

Lorenzo Mendini wrote:
|| Ciao a tutti, io ho un database di 420 mb composto di circa
|| 1.700.000 record in un file DBF; siccome questo file mi crea precchi
|| problemi vorrei convertirlo in uno più "stabile" e che non abbia
|| problemi di dimensioni e soprattutto che non si "arrabbi" se gli si
|| accede spesso.
|| Vi prego formitemi un'alternativa......
|| Grazie ciao a tutti
Per volumi di dati di quella rilevanza, la sicurezza degli stessi diventa
vitale.
Un'applicazione che gestisce tabelle con milioni di records NON PUO'
permettersi appoggiarsi ad un DBMS basato sui DBF, afflitti dai ben noti
problemi di corruzione degli indici con conseguente duplicazione/corruzione
dei dati e nemmeno sui DB di Paradox.
Immagino si tratti di una vecchia applicazione, magari sviluppata con
CLIPPER, che stai riscrivendo/integrando.
Quello che ti consiglio di fare è, innanzitutto, l'UpSizing di tutta la base
dati affidandoti ad un DBMS gestito da un server SQL.
Puoi scegliere quello che vuoi. Ce ne sono anche a costo molto basso (MySql,
InterBase, Ecc).
I Vantaggi sarebbero immediati e numerosi:
1) Congruenza dei dati migliorata grazie alla possibilità di implementare i
vincoli di integrità referenziale sul DB stesso.
2) Sicurezza dei dati migliorata grazie alle funzioni di backup/manutenzione
forniti dal DBMS stesso.
3) Riservatezza dei dati gestita direttamente dal DBMS tramite user
policies.
4) Acceso multiutente al DB gestito dal DBMS (in parole povere, non avrai
bisogno di gestire manualmente i lockings a livello tabella o record)
5) Possibilità di accedere ai dati tramite Query SQL.
Potremmo andare avanti per ore ma ritengo che i pochi punti che ti ho
elencato, dovrebbero, quantomeno, farti prendere (e anche al tuo cliente) in
considerazione il passaggio.
BicH

siccome il software lo sviluppo per me stesso non vorrei spendere dei soldi,
conosi qualche software in gradi di fare al caso mio gratuito? Se fosse da
scaricare da internet non c'è alcun problema.
Hai ragione è un file fatto il clipper....... io però non so usare nessuno
di questi programmi per la "trasformazione" nel caso tu saresti disposto a
darmi delle dritte?
Ultima cosa; io a quella tabella devo solo accedere per eseguire delle
ricerche e quini nessun dato verrà mai modificato in prtaica è un elenco e
devo consultarlo con delle ricerche mirate su un campo e basta, unica cosa
chiaramente è la stabilità perchè se dopo 1000 accessi devo rifare
tutto.......
GRAZIE 1000 per la tua disponibilità
Ciao ciao

 scaricare da internet non c'è alcun problema.
se vai su 
www.ibphoenix.com
 ti spulci un po il sito e vedrai che di
applicazioni per la migrazione dei dati ce ne sono una infinità
comunque ti consiglio di scaricarti prima i manuali di firebird (che poi
sono quelli di interbase 6 open edition) e di studiarti un po le
potenzialità che ti offre il db. poi ti crei la struttura dati vuota e poi
ci migri i dati.
dopodichè costruisci la tua applicazione. vedrai che non ti deluderà. è
veramente una scheggia!!!
ciao fabrizio

 dati affidandoti ad un DBMS gestito da un server SQL.
Altra sciocchezza, il discrimine č se lavori in locale o in rete e se lavori
in mono o multiutenza.
Se lavori in locale e monoutenza passare ad un server SQL č fare esercizio,
ma senza particolari vanaggi rispetto a soluzioni piů semplici.
Se, come dici, non hai bisogno di modificare i dati, ma ti servono solo per
delle ricerche non vedo male neanche un uso di ADO con la conversione verso
Access.

 degli indici del sistema xbase o č meglio stare zitti.
eh giŕ, fa proprio caldo oggi.
Acqua
-------------------------------------------------------
Download new version of PixExperts for Delphi 6/C++ Builder at
http://www.salexander.supereva.it/Pix_Exp171D6.zip

Usa MSDE, è simile a SQL2000Server ed è stabile... ed il setupp è nei cd
di Office
-- 
Posted via Mailgate.ORG Server - 
http://www.Mailgate.ORG

Bruno Cardini wrote:
[...]
|| ma non diciamo cazzate.. o si conosce la struttura di gestione dei
|| dati e degli indici del sistema xbase o č meglio stare zitti.
|| Se gestito come si deve il sistema .dbf/.ntx č uno dei sistemi piů
|| veloci, stabili e flessibili che esistano
[...]
Sei per caso il Bruno di cui mi parla sempre IlMax?
BicH

stabili e flessibili che esistano
Non per gestire milioni di record.
-- 
Andrea Laforgia
Open Delphi Manual
http://groups.yahoo.com/group/delphi_open_manual/

 cominci ad avere qualche problema.
Ciao, scusate, ma in pratica cosa consigliereste per creare dei db su
cui lavorare in rete con Delphi?
Ciao,
Dani

Dani wrote:
|| Ciao, scusate, ma in pratica cosa consigliereste per creare dei db su
|| cui lavorare in rete con Delphi?
I fattori in gioco sono molteplici. Dipende dal volume dei dati, dal numero
delle connessioni contemporanee, da come č stata progettata l'applicazione e
dalla portata del round-trip generato dalla stessa.
Le informazioni che adduci sono un po' minimali ma sufficienti per
consigliarti di:
1) Non utilizzare i DBF come formato fisico di persistenza dei tuoi oggetti.
2) Mi sento di consigliarti Microsoft MSDE 2000. E' completamente
compatibile con MS SQL SERVER 2000 (anche i file fisici dei DB) e. pertanto,
molto scalabile. E' gratuito (MSDE non SQL SERVER) e ti fornisce tutti i
vantaggi di un -vero- server SQL.
Ti consiglio di utilizzare ADO per l'accesso ai Dati, sia che la tua sia
un'applicazione a 2 strati (il front-end accede direttamente al DB, magari
in rete) che a 3 o piů strati (il front-end accede ad un application
server). Esistono diversi ADO wrappers per Delphi: ADOEXPRESS, fornito con
Delphi stesso (ma dipende dalla versione), ADONIS (
www.winsoft.sk
) , ed
altri (cerca in rete).
||
|| Ciao,
|| Dani
Ciao
BicH

compatibile con MS SQL SERVER 2000 
MSDE *è* SQL Server, tranne per tutto il software di contorno a SQL
Server, che manca (difatti il servizio gira proprio come Microsoft SQL
Server).  Il problema è che è limitato a 5 connessioni utente.
Se non si vogliono vincoli è bene utilizzare Firebird.  Io lo
consiglio, rispetto a MSDE.


Andrea Laforgia wrote:
|| MSDE *è* SQL Server, tranne per tutto il software di contorno a SQL
|| Server, che manca (difatti il servizio gira proprio come Microsoft
|| SQL Server).  Il problema è che è limitato a 5 connessioni utente.
Non proprio. Le differenze non si limitano al numero di connessioni
possibili.
Internamente è MOLTO diverso:
SQLServer 2000, infatti, non può girare in modalità Server su sistemi Win9x.
Alcune ulteriori differenze:
1) Non esegue le Query in processi paralleli.
2) Non sfrutta i sistemi multiprocessore.
3) Non può fare da pubblicatore di replica
4) I files fisici dei DB non possono superare i 2 GB
5) E' limitato a 16 istanze.
Altri dettagli li potrai trovare sul sito Microsoft.
|| Se non si vogliono vincoli è bene utilizzare Firebird.  Io lo
|| consiglio, rispetto a MSDE.
Firebird, per quanto allettante, è un prodotto mantenuto in modo
'amatoriale' e, come solitamente avviene per tali prodotti, poco
consigliabile, a mio avviso, per un utilizzo professionale. Sono, tuttavia,
d'accordo con te nel consigliarlo in caso di sviluppo di applicazioni 'home
brew'. Non consiglierei mai, invece, un prodotto amatoriale ai miei clienti
o utenti delle mie applicazioni.
BicH

 amatoriale ai miei clienti o utenti delle mie applicazioni.
No comment...
Spero solo che tu non vada a parlare coi miei di clienti (e nel caso spero
proprio che non ti credano).
--
Andrea /\/\agni
ICQ#: 174108000

Andrea M wrote:
|| Se ti serve un DB di piů di 2 GB, hai a disposizione una macchina
|| multiprocessore, ti serve un sistema di repliche, hai bisogno di piů
|| di 16 istanze e stai considerando di scegliere MSDE forse dovresti
|| cambiare lavoro, non trovi?
Scusa, ma hai letto il post?
1) Uno ha chiesto un consiglio su qualde DB usare.
2) Misono sentito di consigliargli MSDE alla luce delle (poche) info sulla
problematica da gestire.
3) Un'altro ha fatto notare le differenze tra MSSQL SERVER e MSDE
4) Io ho approfondito il tema delle differenze elencandone altre.
Mi spiegheresti, per cortesia, il senso del tuo post?
BicH


 Mi spiegheresti, per cortesia, il senso del tuo post?
Farti notare che le differenze elencate non sono rilevanti e, a parte
questo, fra MSDE e Firebird per 1.700.000 record (420 Mb) sceglierei tutta
la vita Firebird. Inoltre definire "amatoriale" lo sviluppo di un progetto
open-source del genere mi sembra un tantino eccessivo...
Detto questo, a ognuno le sue opinioni  :-)
--


Andrea M wrote:
[...]
|| Farti notare che le differenze elencate non sono rilevanti e, a parte
|| questo, fra MSDE e Firebird per 1.700.000 record (420 Mb) sceglierei
|| tutta la vita Firebird. Inoltre definire "amatoriale" lo sviluppo di
|| un progetto open-source del genere mi sembra un tantino eccessivo...
||
|| Detto questo, a ognuno le sue opinioni  :-)
[...]
Provo a chiarire meglio il senso di quello che volevo trasmettere.
Non sono 'legato' a nessun sistema in particolare. Ho consigliato MSDE
poichè mi sembrava che per l'applicazione in oggetto, fosse più che
sufficiente. Lo trovo molto semplice come utilizzo (certo, senza strumenti
di amministrazione è un po', come dire, 'castrato'). Essendo pienamente
compatibile con SQL SERVER, in giro si trova un sacco di documentazione,
cosa importante per chi, come mi sembrava di aver capito dal post di DANI,
non mastica pane e SQL tutti i giorni.
Sono convinto che, probabilmente, per l'applicazione di DANI, le differenze
tra SQL SERVER e MSDE non siano rilevanti, ma non era questo il punto, avevo
semplicemente approfondito l'argomento con Andrea Laforgia che indicava la
sola differenza nel numero massimo di connessioni.
Con il termine 'amatoriale' non voglio certo sminuire la validità del
prodotto, voglio solo dire che non è ufficialmente supportato da nessuno,
cosa più che normale per un prodotto Open Source.
Dato che sviluppo applicazioni gestionali client/server piuttosto pesanti,
ti assicuro che non solo i clienti, ma nemmeno l'azienda per cui lavoro mi
passerebbe mai il fatto di sviluppare su un DBMS non supportato
'ufficialmente'. Per supportato ufficialmente intendo un prodotto comprato e
pagato, sul quale, poi, ci si possa rivalere (o almeno tentare) in caso di
funzionamento non conforme.
Poi sulla validità o meno del prodotto nessuno discute. Io stesso ho diverse
applicazioni 'non critical' da me sviluppate su DBMS alternativi. A livello
sperimentale sto persino sviluppando un OPF su Advantage, non si può certo
dire che non tengo conto dei sistemi meno famosi.
Spero, stavolta, di essere riuscito a trasmettere il mio punto di vista.


eh già, fa proprio caldo oggi.
...parrebbe proprio di sì! ;) 
Ciao Acqua! ;)
Peppe
_____
ICQ #9759626
Togli levaccà per contattarmi via email.

 rivalere (o almeno tentare) in caso di funzionamento non conforme.
Vorresti dire che sul serio fareste causa a Microsoft, nel caso?
Stiamo prendendo un po' la tangente, io chiuderei qua...
A riscriverci,


o utenti delle mie applicazioni.
Io non ho affatto detto che Firebird vada usato per applicazioni "home
brew", rileggi attentamente il mio messaggio.  Se stai cercando di
provocare con delle stupidaggini, comincia ad indossare l'armatura.
Firebird non è AFFATTO un prodotto amatoriale ed è MOLTO saggio
utilizzarlo per applicazioni commerciali e professionali.  Inoltre,
non è AFFATTO "mantenuto in modo amatoriale", esiste una fondazione
australiana ( "The FirebirdSQL Foundation") che viene regolarmente
finanziata da grandi aziende del settore informatico.
Poi, è molto probabile che tu ti sia perso un pezzo di storia
dell'informatica, quello in cui è comparso il software free e open
source (che non è propriamente software "amatoriale"). 
L'amministrazione pubblica britannica ha appena convertito il proprio
software da proprietario a open source per 10000 suoi computer e molte
aziende del Nord Europa stanno facendo la stessa cosa.
Questo è l'atteggiamento intelligente di chi giustamente riconosce al
software free e/o open source le stesse caratteristiche del software
proprietario (se non migliori) e ne ottiene un risparmio economico non
indifferente.
Comunque, probabilmente sei uno dei tanti consulenti Microsoft a cui
interessa far più pubblicità ai suoi prodotti, che non consigliare
realmente il meglio per il cliente.  
Devi campare anche tu, ti perdono ;-)


4) Io ho approfondito il tema delle differenze elencandone altre.
 
 5) ho buttato merda a secchiate su un DB forse più solido e meglio
utilizzabile di MSDE.


Devi campare anche tu, ti perdono ;-)
Rileggendo i tuoi ultimi post, non ho che da dirti questo: sei un mito...
Quasi quasi ti dedico una delle mie rime poetiche!
:-)
-- 
Morde. 
(morde at programmer dot net)

Quasi quasi ti dedico una delle mie rime poetiche!
Speravo che non lo dicessi !!!


 Quasi quasi ti dedico una delle mie rime poetiche!
Scusami tanto Morde... ;)
Ma qui ci vuole una vera e propria *poesia*! :D
Inizio io:
"Era lě, dietro una scrivania"
"e parlando di Database"
"batteva pugni contro il case..."
"Era lui, Andrea Laforgia,"
"etc... tc..."
Acqua
-------------------------------------------------------
Download new version of PixExperts for Delphi 6/C++ Builder at
http://www.salexander.supereva.it/Pix_Exp171D6.zip
-- 


 mito...
Io mi dissocio... certi atteggiamenti minano il clima di serenità di un ng
IMHO.


IMHO.
Il ng non è il Paradiso Terrestre, in questo ng c'è qualcuno che ha
provocato, prenderlo a morsi non è peccato.  


prenderlo a morsi non è peccato:
suggerisco per lui una vacanza alpestre.
Il nostro amico dopo un semestre
quatto quatto MSDE avra' cancellato:
la lunga vacanza gli avra' giovato!!
miracoli dell'aria cosi' agreste...
Sull'open source forse avra' capito
che non e' poi cosi' amatoriale:
piuttosto che sentenziare a menadito
su firebird che non e' professionale
Astenersi doveva a premere il dito
dall'invio del post che non abbiam gradito.
Sonetto a struttura classica ABBA/ABBA DCD/CDC
Liberamente tratto da un incipit di laforgia.
Questo sonetto all'amico Laforgia ho dedicato 
mai conosciuto ma informaticamente stimato
che assai di rado fa uso delle faccine
ma sotto, sotto, io so che se la ride...


suggerisco per lui una vacanza alpestre.
Dio mio, fermatelo !...


> Dio mio, fermatelo !...
'mma'ssi... che dia pure libero sfogo alla sua dote da poeta :D :D :D
Acqua


Andrea Laforgia wrote:
|| On Wed, 23 Jul 2003 16:21:59 GMT, "BicH" <bi...@NOSPAMsupereva.it>
|| wrote:
[...]
|| Comunque, probabilmente sei uno dei tanti consulenti Microsoft a cui
|| interessa far più pubblicità ai suoi prodotti, che non consigliare
|| realmente il meglio per il cliente.
||
|| Devi campare anche tu, ti perdono ;-)
[...]
Sono stato frainteso.
Se fossi un consulente Microsoft utilizzerei strumenti di sviluppo
Microsoft, invece utilizzo Delphi.
Se fossi un consulente Microsoft non avrei consigliato Interbase o MysQL a
chi ha aperto questo thread.
Probabilmente la mia colpa è stata quella di essermi permesso di pensare con
la mia testa.
Probabilmente avrei dovuto leggermi i posts precedenti. Sicuramente avrei
capito quale DBMS consigliare in questo NG, sempre e comunque.
Mi spiace ma, a 38 anni, sono ancora convinto che gli strumenti da
utilizzare per risolvere un problema, siano da valutarsi volta per volta e
che procedere per partito preso sia un errore. Ma vedo che, nonostante tutto
il mio impegno, non mi si vuole capire.
Vi volevate divertire anche voi, vi perdono. :)
BicH

BicH wrote:
|| Sono stato frainteso.
|| Se fossi un consulente Microsoft utilizzerei strumenti di sviluppo
|| Microsoft, invece utilizzo Delphi.
|| Se fossi un consulente Microsoft non avrei consigliato Interbase o
|| MysQL a chi ha aperto questo thread.
[...]
Comunque, seriamente, non avevo intenzione di pestare i piedi a nessuno.
Per dimostrare che non intendo assolutamente turbare nessun tipo di
equilibrio, tantomeno provocare, me ne torno a leggervi come ho fatto
fin'ora.
Scusate.
-- 
Fabrizio Saltari
System Specialist
Storm Open Solutions
Partner PluriService
fsal...@stormopensolutions.it
fsal...@pluriservice.it

 volta e che procedere per partito preso sia un errore.
Sei poco coerente. Tu per partito preso eviti di usare prodotti open-source
in applicazioni professionali e poi vieni a fare la morale?
Se questa voleva essere una tua risposta al tono (che io stesso considero
fastidioso) di Andrea L. sappi che non ci hai guadagnato nulla. Se voleva
essere qualcos'altro avresti dovuto usare meno frasi fatte.
Ok, mi fermo qui. Non ne vale la pena e sono sicuro che stiamo annoiando gli
altri utenti. Qualche anno fa probabilmente il mio messaggio di risposta
sarebbe stato di 20kb...



Per gestire 2 milioni di record di dichiarazioni 730
studia ragazzo, studia

 funzionamento non conforme.
Avete mai provato a farlo? O conoscete qualcuno che ci sia riuscito?
Non ho mai sentito negli ambienti lavorativi che ho conosciuto (PMI all'inizio, ora piu' 
che altro banche, assicurazioni e medie imprese) di una societa' che sia riuscita ad 
ottenere una rivalsa per il funzionamento "non conforme" di un database server.
-- 
Roberto Lupi