Icon Stores

Stores are used in ElevateDB to define storage areas where files can be located. Like databases, stores are defined in the ElevateDB configuration and are privileged objects, so you can control access to stores based upon the privileges that you grant or revoke from other users or roles defined in the configuration. Stores are created, altered and dropped via the CREATE STORE, ALTER STORE, DROP STORE, and RENAME STORE statements.

Types of Stores
Stores can be created as either local or remote, and they are defined as follows:

LocalA local store simply points to a local path that is accessible from the current process.
RemoteA remote store is a "virtual" store that is defined locally but actually points to another store on a remote ElevateDB Server. This abstraction of remote stores make the stores very useful because you can transfer files between different machines by simply copying a file from a local store to a remote store, and vice-versa.

Working with Files in Stores
Adding files to a local store can be done via the operating system itself by copying or moving files into the local path used by the local store. However, many times the files will be created using statements such as the BACKUP DATABASE, SAVE UPDATES, or EXPORT TABLE statements. These statements require a local store as the location where the files generated by these operations will be created.

You can also use the COPY FILE, RENAME FILE, and DELETE FILE statements to manipulate files in a given local or remote store. This makes stores very useful because they use the existing ElevateDB remote communications facilities and don't require any extension configuration of the operating system to set up virtual private networks (VPNs) or other elaborate setups.

For example, here's an example of using the COPY FILE statement to copy a backup file from a local store to a remote store.

COPY FILE "MyBackup.EDBkp" IN STORE "LocalStore"
TO "MyBackup.EDBBkp" IN STORE "RemoteStore"

When used in conjunction with the SAVE UPDATES, LOAD UPDATES, stores can be used for replicating updates from a local location to a remote location. Please see the Replication topic for more information on replicating updates.