Linking Databases
Thanks for all responses. To clarify a bit, yes I’m using only ONE
database with 15 fully expandex segements (DF2, DF3…) When the data got
full, I separated my biggest file (attachments file) and made it an stand
alone database with its respective segments, and I open it only when the
customer is adding or reviewing those attachments. That freed a very big
chunk of space on my main data. However, the main data will be filling
quickly even without the attachments, which prompted me to the question.
So as I gather from all responses the answer is the same answer I was
dreading before I asked, there is NO way to gracefully link the databases
and treat them as one. I will have to do what I did with the attachment,
but deal with several more praying it work seamlessly. sigh. Conversion
to SQL is not looking that bad now… lol but seriously, that is something
I will have to do in the near future if I want to tame this growing data.
Gav, I’m interested in your SQL solution, will mail you to inquire more
about it.
Thanks all for your answers, they were helpful.
Jeanne
Message: 20
From: Gavin Foster <omnislist@dataweaver.com>
To: OmnisDevList-English English <omnisdev-en@lists.omnis-dev.com>
Subject: Re: Linking Databases
Message-ID: <0FCF11DD-C94B-451F-B1B1-A06CDCA5EA03@dataweaver.com>
Content-Type: text/plain; charset=utf-8
Hi Jeanne,
I see Michael and Das have provided some responses already, but here?s a
bit from me too.
I?m currently working for a company that has exactly the problem you
describe – maxed out datafiles. (Actually, it?s an Omnis 7 application, but
the theory should be the same for Studio.)
To get away with expanding datafiles for a number of years, they identified
the biggest files (i.e. file formats that take up the most space) and moved
each of them into its own datafile.
e.g. You can have:
– one datafile with all the standard reference data file formats in it
– one datafile with the Client data in it
– one datafile with the invoice data in it
– etc
Each datafile can have 15 segments.
This creates much more space than limiting yourself to one 15-segment
datafile for everything.
As your application opens each of the datafiles, the code must say ?Set
default datafile ?..? specifying the file formats that are in that
datafile. Then when your code performs an operation on a file format like
Find or Insert, Omnis simply uses the correct datafile for the file format
concerned.
It?s a good idea to make sure that you have record locking under strict
control too – make sure all file formats are in read-only mode until you
really want to update a record. When Omnis is locking multiple records
across multiple datafiles, it seems you can have more chance of deadlocks
or data corruptions.
Please contact me privately or on list if you want some more help on any of
this.
DF1 or SQL:
I do not recommend using the Omnis datafiles as a long term solution for
large datasets. My team has been hired to migrate the application I
describe above to SQL and it?s a significant task. We?ve developed a way to
do so that keeps the old code base rather than having to rewrite it all in
SQL today. We cleanse various aspects of the application, then pass it
through a converter that replaces all the old Omnis DML commands with
?equivalent? SQL operations. This might be an approach you want to consider
once you?ve got past the immediate space issue.
Good luck!
Rgds
Gav
> On 1 Mar 2018, at 20:25, Jeanne Reyes <bornfree11@gmail.com> wrote:
>
> I have a native studio database with 15 fully expanded segments
totalizing
> (3.75 gb). My understanding is that Studio can handle up to 1 terabyte of
> data, but with only one database is not possible. I think I remember that
> there is a way to link databases together.
>
> I’m running out of space and can not close the older data until a couple
of
> years form now. How can I have several datafiles, but still have them
> treated as one for the purpose of reporting and historical data? and no,
I
> cant use SQL (tried, failed, my try again in the future)
>
> Thanks,
>
> Jeanne Reyes
>
> —
> Shop online through
this
> link to help me pay for college!
> _____________________________________________________________
> Manage your list subscriptions at lists.omnis-dev.com
> Start a new message -> mailto:omnisdev-en@lists.omnis-dev.com
——————————
Message: 21
Date: Thu, 1 Mar 2018 14:53:06 -0800
From: Das Goravani <das@Goravani.com>
To: OmnisDev List – English <omnisdev-en@lists.omnis-dev.com>
Subject: Re: Linking Databases
Message-ID: <B5AB3B4B-396A-4AB2-AC17-D589660DCFC2@Goravani.com>
Content-Type: text/plain; charset=utf-8
I just want to second Gavin?s answer. I had an app where I set up multiple
datafilee?to hold separately the larger file formats data. In STARTUP you
open the datafiles and issue the command Set default datafile? and it?s a
comma delimited list you can put there?that tells Omnis to always look to
that datafile for those file formats..thereafter in your code you do
nothing to make it aim correctly..it knows the default datafile for each of
the file formats. Then you can max out each datafile separately to get a
much larger space for data. In the project I think I had about 9 datafiles
and some of them required segments.
—
Shop online through this
link to help me pay for college!
<www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail>
Virus-free.
www.avg.com
<www.avg.com/email-signature?utm_medium=email&utm_source=link&utm_campaign=sig-email&utm_content=webmail>
<#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>
_____________________________________________________________
Manage your list subscriptions at lists.omnis-dev.com
Start a new message -> mailto:omnisdev-en@lists.omnis-dev.com