Frontbase optimization
Geir Fjærli
omnis at sunshinedata.com
Wed Apr 15 03:09:12 EDT 2009
Hi Nick.
One of my customer had exactly the same scenario a few years back. Data was
pulled from an Omnis data file, then written to Frontbase one by one.
All the optimalisation in the world isn't going to make that fast,
unfortunately.
So what we ended up doing was using the strong points of each platform:
1. We wrote the data to a delimited file using the Omnis report engine,
which is very fast.
2. Then we used the - also very fast - text file import tool in Frontbase to
import them.
Back then, with Omnis being non Unicode, we faced the issue of converting
the text file to the appropriate format. The kind people at Frontbase wrote
a small conversion tool for us. Not sure if that would still be required if
using the Unicode version of Omnis.
Unfortunately I do not have neither the code nor the conversion tool handy,
but I assume the customer still does. Contact me off list if you are
interested in more info.
Geir :)
-----Original Message-----
From: omnisdev-en-bounces at lists.omnis-dev.com
[mailto:omnisdev-en-bounces at lists.omnis-dev.com] On Behalf Of Nick Renders
Sent: 14. april 2009 13:54
To: OmnisDev List - English
Subject: Frontbase optimization
Hi,
We have an Omnis Studio (v4.3.1.4) application that syncs tables from
an Omnis Datafile to a Frontbase Database. The premise is very simple:
load the data in the instance of a table class (connected to Omnis DF),
copy it to an instance of a table class that is connected to
Frontbase, and
write everything to Frontbase.
This works but is very slow when writing the changes to Frontbase. I was
wondering if anyone has any pointers on how to optimize this process.
There are 2 issues that come to mind:
1) We use the standard v3 DAM methods $insert() and $update() to write
the data to Frontbase. Will there be much difference if I override
these
methods and use the $execdirect() command with Bind Variables?
2) Everytime we connect to Frontbase, we use a new session (or overwrite
an existing one). The application is syncing every few minutes which
means we could have one constant session open except that I haven't
found a way to determine wether the session is still valid (like the
$state
property). Sometimes the Frontbase Database will go offline and the
application is still able to call $insert() and $update() with
kTrue as
return value.
Any input is very much appreciated.
Regards,
Nick Renders
ARC - your ICT service partner
H. D. Saviolaan 8
1700 Dilbeek
T: (00 32) (0)2 466 50 00
F: (00 32) (0)2 466 88 33
http://www.arcict.com
_____________________________________________________________
Manage your list subscriptions at http://lists.omnis-dev.com
More information about the omnisdev-en
mailing list