Omnidex applications begin by connecting to an Omnidex Environment, providing access to all of the databases and tables declared in the environment. This can be temporarily expanded by attaching additional tables to the current connection. Attaching a table allows it to be accessed in statements along with the other tables in the environment.
Raw data files can be attached to any connection to an Omnidex Environment. If the database in the environment is already a FILE type, meaning that it references raw data files, then the attached table can be placed directly into that database. If the database in the environment is a relational type, then the raw data files can be attached in the temp database, $TEMPDB, which is always present for all connections.
Relational tables can be attached to a connection as long as it matches the database type declared in the Omnidex environment. For example, if an Omnidex Environment references a Microsoft SQL Server database, then additional SQL Server tables can be attached; however, Oracle tables cannot since they are not the same database type. If multiple database types are required, then each database can be declared in a separate Omnidex environment and attached as needed. Alternatively, a single Omnidex environment can permanently declare multiple database, each of a different type.
The following restrictions apply to attached tables:
Attaching a table is simple, and uses the ATTACH TABLE statement. The ATTACH TABLE syntax is nearly identical to CREATE TABLE, as shown below:
> connect to simple
Connected to D:\class\labs\attach\simple.xml
> attach table "AREACODES"
>> physical "dat/arc.dat"
>> (
>> "AREACODE" character(3),
>> "TYPE" string(7),
>> "TYPE_DESC" string(31),
>> "ASSIGNABLE" character(1),
>> "EXPLANATION" string(31),
>> "RESERVED" character(1),
>> "ASSIGNED" character(1),
>> "ASSIGN_DATE" ascii date,
>> "GEOGRAPHIC" character(1),
>> "SERVICE" string(39),
>> "STATES" character(10),
>> "LOCATION" string(31),
>> "COUNTRY" character(2),
>> "AREA_SERVED" string(511),
>> "IN_SERVICE" character(1),
>> "IN_SERVICE_DATE" ascii date,
>> "OVERLAY" character(1),
>> "OVERLAY_COMPLEX" character(20),
>> "PARENT" character(32),
>> "TIME_ZONE1" character(1),
>> "TIME_ZONE2" character(1),
>> constraint AREACODES_AREACODE_PK primary ("AREACODE")
>> );
Table AREACODES attached
The newly attached tables can be seen using the SHOW TABLES command in OdxSQL:
> show tables
Tables
------
Environment
Database
Table Length Cols Rows Type
----------------------------------------------------------------------------
USER_ENVIRONMENT
SIMPLE
COUNTRIES 98 7 239 FIXED
STATES 44 6 76 FIXED
GENDERS 33 2 2 FIXED
HOUSEHOLDS 99 6 1,909 FIXED
INDIVIDUALS 159 7 5,000 FIXED
$TEMPDB
*AREACODES 747 21 800 FIXED
See also: