Hi,
I suppose you have 5 apps right now:
- An Oracle database
- An application server infront of the Oracle database based on
Midas/Datasnap.
- A Firebird database
- An application server infront of the Firebird database based on
Midas/Datasnap.
- A client application connecting to the two application servers and doing
the copying.
Supposing you want to stay in your current framework (Datasnap/Midas) I
would think about
adding functionality in the Firebird application server enabling it to
directly connect to the Oracle database, or alternatively (but slower)
connect via the Oracle application server as a Datasnap client.
The first suggestion eliminates 2 x latency and the 2nd suggestion only 1 x
latency as you still have one TClientDataset connection to the Oracle
application server/provider.
Loading 40000 records (without huge blobs though) from the Oracle database
into a memory storage shouldnt take more than 30 secs to a minute. However
TClientDataset is not too happy about largish data sizes. An alternative is
kbmMemTable which you can download from our site, but it wont be a direct
replacement for the TClientDataset as it doesnt understand the provider
functionality.
But I would think you would be able to speed up your current operations
within Datasnap considerably with the suggestions above without replacing
TClientDataset.
--
best regards
Kim Madsen
XXXX@XXXXX.COM
www.components4developers.com
www.myc4d.com - coming soon
The best components for the best developers
Application server enabling technology for developers
"Herbert.schlup" <
XXXX@XXXXX.COM >skrev i en meddelelse
Quote
And how can I do this? Are there special components for Firebird?
Herbert
"Kim Madsen" < XXXX@XXXXX.COM >wrote:
>Hi,
>
>You are having a serious latency problem imo.
>As far as I understand, you fetch record by record from the Oracle
>database
>using a 'thin client' and posting into firebird from the thin client.
>
>You are better off either to fetch batches of records at once, process
>those
>with the alterations that are needed, and send them back to the firebird
>based application server as a batch, or add some functionality in your
>application servers that fetches directly from Oracle and inserts directly
>into FB.
>
>