I am new to iAnywhere so this question might seem very
trivial to all of you. But it would be real great if you
could answer this question of mine. During development of
Ultralite application, there is a concept of Reference
database. What exactly is this database, and what is its
purpose. Is it a part of consolidated DB or is it a separate
entity? If its a different entity altogether, where does it
actually reside? Can this reference DB be ASA database only,
or can it be Oracle, DB2, MS SQL, anyone of these? Also, is
this reference DB required only during development of
Ultralite application? Is it not required once we have
created the executable Ultralite application (.exe or .prc
Please answer the above mentioned questions. Thanks in
advance for all your help and support.
Subject: Concept of Reference Database
X-Mailer: WebNews to Mail Gateway v1.1s
Date: 30 Oct 2003 00:44:18 -0700
X-Trace: forums-1-dub 1067503458 10.22.241.41 (30 Oct 2003 00:44:18 -0700)
X-Original-Trace: 30 Oct 2003 00:44:18 -0700, 10.22.241.41
Xref: forums-1-dub ianywhere.public.general:1959
Article PK: 4196
Organization: iAnywhere Solutions Inc.
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.4) Gecko/20030624
X-Accept-Language: en-us, en
Subject: Re: Concept of Reference Database
Content-Type: text/plain; charset=us-ascii; format=flowed
Date: 30 Oct 2003 06:39:59 -0700
X-Trace: forums-1-dub 1067524799 172.31.140.253 (30 Oct 2003 06:39:59 -0700)
X-Original-Trace: 30 Oct 2003 06:39:59 -0700, gfenton-xp.sybase.com
Xref: forums-1-dub ianywhere.public.general:1963
Article PK: 4199
You have actually answered most of the questions yourself :-)
The reference database is only used during development. In fact,
depending on the API you are using for UltraLite, you may not even need
a reference database at all (e.g. if you use the Schema Painter instead).
If you use a reference database (I have never used the Schema Painter
myself), then when you are compiling your UltraLite application you use
the SQLPP and the ULGEN tools. These tools use the reference database
to identify which tables, datatypes and functions your UltraLite
application is going to need. They also use the reference database to
choose the access plans that your UltraLite queries are going to use.
SQLPP and ULGEN depend on functionality that is only available in ASA,
so your reference database must be ASA. Since the reference is only
used during development, there is no need to deploy this database into
your production environment.
Note that if your consolidated database is going to be ASA, you *can*
use a single ASA database as both your reference and your consolidated.
Depending on the data of your consolidated, this configuration may not
yield optimal code for your UltraLite app. This is because ULGEN
analyzes the data in the reference database (well, it actually uses the
UltraLite access plans generated by the reference) when it is generating
your UL code, so if the consolidated contains data that is not a
representative sample for a *single* UL remote, then the access plan
chosen may not be optimal.
Hope this helps,
Consultant, Solution Services, iAnywhere Solutions
Visit the iAnywhere Solutions Developer Community
Whitepapers, TechDocs, Downloads