EiffelStore Wizards (Beta Version)
EiffelStore is ISE's library for combining
the power of object technology with the convenience and ubiquity of
relational databases.
The EiffelStore Wizard simplifies the job of the object-relational
programmer by providing an automatic mechanism to generate an Eiffel
application framework that encapsulates access to an existing database. The
Wizard analyzes the database for you and produces all the needed interface
classes, as well as the system's Ace file (Eiffel compilation control
files).
Overview
The EiffelStore Wizard will help you create an Eiffel Project using
EiffelStore.
The steps are straightforward:
- You provide the information necessary to connect to your database.
- The Wizard asks you what tables you wish to use in your project.
- Using this information, the Wizard will generate an Eiffel
application framework (classes and Ace file) and compile it through
EiffelBench.
You can then adapt and extend the application framework to add your own
processing of the data as needed for your project.
Availability and download instructions
The EiffelStore Wizard is currently available for ODBC and Oracle on
Windows. You can download it from the ISE FTP site:
Installation and use
Once you have downloaded the appropriate Wizard version:
- Unzip the file EiffelStore_Wizard.zip. Be sure to use folder names
when unzipping.
- Unzipping creates a subdirectory Store_wizard_odbc, containing
three other directories: bmp, exe, ressources).
- To run the Wizard, execute launch.bat.
You can also run the exe file in the directory exe, with as parameter the
path where you have unzipped the wizard; for example:
store_wizard_odbc c:\store_wizard_odbc
Generated Files
The Wizard will generate an Eiffel project containing all that's needed
to access and manipulate the tables that you have selected in your database.
For each table, the Wizard generates one class, with the same name as the
table. For every attribute of the table, the class contains an Eiffel
attribute with the same name and the corresponding Eiffel type.
In addition, the Wizard generates:
- An Ace file, with sufficient information to compile the project.
- The class DATABASE_MANAGER, which helps you to do any queries
on the database.
- The classes DB_ACTION, DB_ACTION_DYN, REPOSITORIES and
DB_SHARED, used by the DATABASE_MANAGER classes. These are
the core classes to access and modify the database.
- The classes ESTORE_EXAMPLE and ESTORE_ROOT. These are
the main classes of the generated application framework. You can modify
queries and add new ones by editing ESTORE_EXAMPLE.
In the directory resources of the EiffelStore Wizard, you will
find the skeletons of the generated files. You can modify them to fit your
project.
Current limitations
The EiffelStore Wizard is a beta release. Please note the following
limitations.
- You must choose at least one table before doing the generation.
- Any table that you select must have at least one Column.
- (ODBC) In the generated Ace file, the link to ODBC32.lib appears as:
"$EIFFEL5\library\store\spec\$(COMPILER)\lib\odbc32.lib".
To have access to the library, you should either copy it to this
destination, or change the Ace file line to refer to the library's
location.
- The Wizard always regenerates the project from scratch. Any
modifications that you have made in a previous generation will be lost.
- Because of temporary limitations of the EiffelVision 2 library, the
Wizard's graphical appearance is not optimal, especially with fonts; if
you are using large fonts you won't be able to read all the comments.
- After generation, the wizard launches EiffelBench and a compilation.
If a project was already present, the compilation first needs to delete
it, but will fail if it doesn't have the proper permissions.
- If you are using Microsoft's SQL Server, you should check the box Specific
Tables/Views; do not try to generate the System tables as you
wouldn't be able to perform requests on some of these tables.
- The Wizard doesn't support tables with a dollar sign $ in their names,
as this is not a valid character in Eiffel identifiers.
|