Newsgroup: it.comp.lang.delphi
Titolo: Incompatibilita' indici MDX del BDE con altri formati DBASE

Noi rivendiamo un gestionale scritto in delphi che installa il bde ed ha base
dati in dbf.
Cercando di accedere alle sue tabelle in lettura *e anche scrittura*, cio'
risulta impossibile se fatto da altri programmi che non siano nativi BDE.
Provato con Access, sembra funzionare, ma tornando ad aprire il gestionale
esso ci comunica che gli indici sono corrotti!
Qualcuno e' al corrente di incompatibilita' del formato degli indici MDX
Borland con altri programmi che ne fanno uso?
Ciao a tutti
-- 
Morde. 
(
mo...@despammed.com
)
M-List di icld: 
http://it.groups.yahoo.com/group/icld/

 Borland con altri programmi che ne fanno uso?
L'unico caso in cui siamo riusciti a condividere i file e gli indici ex
Clipper
è stato con Apollo; funzionava sia la lettura che la scrittura; parliamo
però di "qualche" anno fa (1998 ?). D1 / D3
Se ti interessa posso fare qualche ricerca indietro...
Martina

Se ti interessa posso fare qualche ricerca indietro...
Ti ringrazio Martina, ma e' sufficiente questa info.
Di fatto mi risulta che un indice MDX trattato dal BDE si corrompe dopo essere
stato scritto con un altro driver (ad es. quelli di microsoft).
Scandaloso, la Borland aveva acquisito Ashton-Tate la societa' che creo' il
dBase e ne cosegue che l'unico prodotto compatibile 100% con i DBF del BDE e'
il BDE stesso.... 
Vorrei proprio essere smentito...


 Vorrei proprio essere smentito...
Se usi Dbase dalla versione Dos (DBIV o, meglio, DBV) alla versione
windows DB7, non hai nessun problema nel gestire gli indici MDX.
Purtroppo questi non vengono gestiti opportunamente dai motori
Microsoft (ODBC compreso) che pertanto li danneggiano.
Credo che per fare manutenzione agli archivi ti convenga usare il DB5
in DOS che non necessita di installazione e puoi trasportertelo su un
CD.
Ciao 
Giovanni Caramia

CD.
Grazie Giovanni per la risposta.
Contestualizzando meglio il mio problema: stiamo testando un case
(
www.windev.com
) di cui ne ho visto la demo da parte di un programmatore che
sviluppa gia' con questo tool francese.
Durante la demo, abbiamo provato ad accedere ai DBF del gestionale Zucchetti
(scritto in delphi, usa BDE) visto che noi con delphi ci sviluppiamo delle
personalizzazioni da vendere ai clienti, ma il case al primo tentativo di sort
su una colonna indice si e' impallato.
Da li' e' partita la ricerca di qualcosa che sia compatibile con gli MDX del
BDE che non fosse BDE stesso.... :-///
Eppure le specifiche degli MDX dovrebbero essere aperte, o sbaglio?
Ciao!


Si, le specifiche MDX sono aperte ma nessuno si è mai preso la briga
di sviluppare dei prodotti che li supportano ad eccezione di sequiter
(
http://www.sequiter.com/
) con le sue famose utility CodeBase (forse
ne hai sentito parlare o ne hai visto pubblicità da qualche parte).
Questo forse perchè l'MDX è sorto in un periodo di travaglio per il
DBF ovvero nel passaggio da Ashton-Tate a Borland ed il contemporaneo
strapotere di Clipper che utilizzava gli NTX e di Fox e VisualFOX
(rilevato da Microsoft) che utilizza altri indici proprietari.
Io ho utilizzato CodeBase in VisualBasic anni fa. Si tratta di
chiamate a funzioni contenute in DLL. Il prodotto è stabile e veloce.
Esiste anche la versione per Delphi ma io non l'ho mai utilizzato in
quanto avevo la possibilità del BDE anche se si ha la scocciatura
dell'esigenza di installazione di quest'ultimo.
In definitiva, credo, BDE e CodeBase siano gli unici metodi per
accedere in modo sicuro a DBF-MDX. Ho provato anche altre soluzioni
che vantavano cose eccezionali ma poi sono sempre tornato a .... casa.
Ciao
Giovanni Caramia

che vantavano cose eccezionali ma poi sono sempre tornato a .... casa.
Queste frasi assai preziose sono tanto precise quanto impietose.... temo che
non ci sia altro modo di trattare un DBF/MDX nativo BDE.
Cmq, abbiamo sottoposto alla software house produttrice del case in oggetto
questo problema, allegando anche i files. Aspettiamo risposta e se ci saranno
novita' ripostero' qui su ICLD.
ciao!


novita' ripostero' qui su ICLD.
La risposta degli amici francesi non si e' fatta attendere: essi non
garantiscono al 100% l'affidabilita' in scrittura, in quanto Borland ha
modificato il formato degli indici MDX per dare vita al BDE.
Se si trovasse pero' il driver ODBC rilasciato da Borland stessa per accedere
ai suoi DBF, in questo caso la compatibilita' in scrittura sarebbe assicurata
al 100%.
Ora chiedo a voi di ICLD: dove si puo' trovare questo driver ODBC? Sul sito
Borland? Sui CD di DElphi (io ho la 6 pro)?
E' la nostra ultima spiaggia....
Ciao a tutti


 al 100%.
Ricomplimenti!! o forse cercano di salvarsi in corner?
Borland NON HA MAI scritto un ODBC per DBF-MDX. Ha sviluppato, come
tutti sappiamo, l'accesso tramite IDAPI prima, trasformato per
metamorfosi naturale in  BDE in seguito; inizialmente in
collaborazione con IBM e poi da sola, abbandonata, durante il progetto
IDAPI, da quest'ultima.
Microsoft racconta:
The dBASE database driver works in one of two modes. One mode is when
either the Microsoft 'Jet 4.0 Service Pack 5 (SP5)' or 'the Borland
Database Engine (BDE) is installed'. The other mode is when neither of
these are installed. dBASE data is only updateable when Jet 4.0 SP5 or
the BDE is installed. Without Jet 4.0 SP5 or the BDE, dBASE data can
be read, imported and exported, or linked to read-only.
questo potrebbe lasciare intendere che con il SP5 di Jet 4.0 forse
funziona.
Io non ho più dedicato del tempo al DBF. Credo comunque che
l'informazione non faccia al caso tuo in quanto ritengo che tu
necessiti obbligatoriamente di ODBC per utilizzare il case francese.
Mi spiace ma non riesco ad aiutarti di +.
Se comunque riesci a cavarne qualcosa, postalo qui per la comunità e
per me che alla fin fine ho ancora qualcosa a che fare (anche se poco)
con DBF.
Saluti a tutti
Giovanni Caramia

con DBF.
Caro Giovanni, l'enorme esperienza che traspare dai tuoi post e la ricchezza
di dettagli tecnici in essi contenuta e' proprio un grande aiuto!
Ti ringrazio per queste infos, e ti prometto che qualora devessimo riuscire
nel nostro intento di trovare dei driver che non distruggano gli MDX e siano
comunque efficienti, sarai il primo a saperlo.
Grazie davvero per l'aiuto.
Buona settimana!
Ciao!


Prova a contattare
STRHOLD S.p.A 
Via Cipriani, 2 
42100 Reggio Nell'Emilia 
Tel.: 0522 380411 
Contatto: Gerardo Galdi 
email: 
g.g...@strhold.it
 
credo abbiano un driver ODBC x Dbase

credo abbiano un driver ODBC x Dbase
Grazie per la segnalazione.
Ciao,


>con DBF.
Orsu', la risposta e' giunta.
Access 2000, mdac patchato alla versione piu' recente (accertarsi di avere
versione msjet40.dll > 4.0.6218.0).
Abbiamo provato da una postazione ad inserire delle bolle, da un'altra, con un
programmino in access a scrivere 1000 articoli nuovi nella tabella articoli.
Esito positivo anche per un inserimento di un blocco intero di articoli via
sql. La tabella articoli era stata popolata con 40.000 articoli, e gli indici
hanno resistito, ovviamente le modifiche impattavano sui campi che erano nella
chiavi multiple.
Purtroppo la prova che interessava a noi direttamente col case francese, e'
fallita miseramente: neanche collegando i dbf dentro access e collegando il
francese all'access (come bridge): impossibile scrivere nelle tabelle, le
quali a causa dell'architettura si vedevano dal case solo read only.
