Newsgroup: it.comp.lang.delphi
Titolo: BDE e conversione a Postgres

Salve a tutti : sono nuovissimo in ambiente Delphi perchè mi sono
sempre cimentato con altri linguaggi e ambienti. Possiedo BDS2006 e un
programma che usa componenti DB-aware del tipo
TDBEdit e simili...fino ad adesso il programma ha usato BDE paradox
come database, ma intendo trasferire il tutto su POSTGRES...
La domanda è : come faccio?
Come esporto le tabelle e i dati da BDE a Postgres?
Come dico al programma di connettersi al server postgres scelto?
Non so proprio da che parte iniziare perchè sono molto inesperto del
settore : avrei bisogno di aiuto...

SerFingolfin ha scritto:

La problematica non è semplice, quindi sarà difficile illustrare in modo 
dettagliato i passi in questo spazio.
Il primo step che dovrai affrontare sarò quello di migrare 
l'applicazione verso *dbExpress*; a questo scopo, puoi leggere un "white 
paper" informativo sul sito CodeGear: 
http://dn.codegear.com/article/29106
Indicativamente, poi, dovrai riprodurre la medesima (o equivalente) 
struttura del database Paradox all'interno del DB PostGreSQL.
Eventualmente, scrivi nuove domande qualora ti trovassi a fronteggiare 
difficoltà specifiche durante il processo.
Ciao,
   Marco.
-- 
MARCO BREVEGLIERI
  (
http://www.marco.breveglieri.name
)
     Non hai la possibilità di scaricare Turbo Delphi Explorer?
     Te lo spedisco io!! [
http://blog.marco.breveglieri.name/?p=48
]

Ciao e grazie molte per la risposta.
Per fortuna l'applicazione non è molto grande e quindi il passaggio da
BDE a dbExpress "dovrebbe" non essere traumatico...almeno speriamo!
Un problema grande, per me, resta quello di trasportare i dati delle
mie tabelle dal classico formato .db per renderle leggibili da
Postgres...come si potrebbe fare?
E anche la struttura delle tabelle mi rende dubbioso : non può essere
che se non vengano convertite correttamente oppure decida di crearle io
a mano sopraggiungano problemi di compatibilità tra i tipi o altre
tipologie di errori?
Non vorrei rischiare...
Qualcuno sa qualcosa a riguardo?

 Postgres...come si potrebbe fare? [...]
Secondo me, in questo caso la "mossa" da seguire è la creazione di una 
struttura su PostGreSQL che sia analoga a quella di Paradox, trasferendo 
poi i dati tramite un'applicazione di "data pump", di terze parti o 
costruita ad hoc.
Non lavoro con PostGreSQL, magari qualcun altro è in grado di fornirti 
maggiori indicazioni su eventuali strumenti che possono essere 
utilizzati per importare dati da fonti e formati differenti.


BDE a dbExpress "dovrebbe" non essere traumatico...
Trattandosi di Postgres da Delphi, invece, lo è.  Il fatto è che non
esiste un driver dbExpress per pg che non sia a pagamento e quindi si
è costretti a ricorrere ad ADO o ODBC.  Purtroppo l'OLE DB Provider
fornito sul sito di pg ha dei problemi con i campi blob.

costruita ad hoc.
Allora è necessario forzare le tabelle "a mano"...peccato : pensavo
esistesse un qualche meccanismo di esportazione per Bde...

per il collegamento diretto a tabelle postgres, gratuiti ci sono i
componenti Zeos, io li ho utilizzati senza problemi su altri database e
non questo specifico comunque ti conviene provare. Ciao buon lavoro
Brunello

connessione a Postgres da delphi
Lo conosco, ma non è free.  E' limitato.

Brunello ha scritto:

Grazie! Finalmente la soluzione al mio problema : devo dire che le Zeos
sono delle ottime librerie, veramente...
Sono semplici da usare e il meccanismo di implementazione è
addirittura
più semplice di quello utilizzato per un driver dbExpress...tanto per
dire
per connettersi occorre solamente un oggetto Connection, una Query
e un DataSource...eppoi la comunità che ne segue le release mi sembra
attiva, ho visitato il loro forum
http://zeos.firmos.at/index.php
trovando risposte a vari dubbi...

e un DataSource...
Anche con dbExpress è così.  Stai probabilmente confondendo con la
tecnica da utilizzare per usare dbExpress con DataSnap.  In ogni caso,
è bene non rinunciare ai meccanismi messi a disposizione da DataSnap
(ClientDataSet+DataSetProvider).  Non c'è di meglio, infatti, in
Delphi, per la gestione dei dati.

 Delphi, per la gestione dei dati.
Scusa la mia ingnoranza, ma non so cosa sia DataSnap...per quanto
ho visto io (senza teoria ma cercando di arrivare al risultato
prendendo
informazioni da varie fonti) ho notato che l'architettura che mi
permetteva
di utilizzare un driver free è molto più complessa di quella
utlizzata dalle
Zeos...se ovviamente qualcuno conosce dei vantaggi pratici nell'impiego
di un'architettura piuttosto di un'altra sono qui apposta per
ascoltarli...

 Zeos...se ovviamente qualcuno conosce dei vantaggi pratici nell'impiego
E cioè di quale architettura stai parlando ? ancora non riesco a
capire.
Come già detto e secondo il mio punto di vista, usare i ClientDataSet
e la tecnologia offerta da DataSnap, è sicuramente un modo molto
efficiente e pratico per gestire i dati, in Delphi.  Oltretutto è una
piattaforma abbastanza indipendente dal database.  I vantaggi
nell'usare CDS + DatasetProvider sono innumerevoli.  Cerca gli articoli
di Cary Jensen in rete, una trattazione di tutto lo scibile su
quest'architettura qui dentro sarebbe troppo lungo.