Migration Workbench Banner

back |  1  2  3  |  next

Plug-In Features (New Features)

Within the plug-ins for the Oracle Migration Workbench (OMWB), there have been a number of additions which have enabled the migration to be completed with higher levels of automation and a more intelligent set of generated code. Some of the features within this release that make this possible are:

Oracle9i Support

As part of the ongoing support for new features, the OMWB now supports the Oracle9i timestamp data type. This is important as it now maps directly to the datetime data type in Sybase and Informix. The Oracle Timestamp data type provides support for milli-seconds unlike the Oracle Date data type. MS SQL Server. Sybase Adaptive Server, Informix and MySQL all have data types that support milli-second precision. Previously, the Workbench truncated the millisecond precision during the migration and stored the values in Oracle Date columns. This now reduces the customizations that were needed to represent this data in previous versions of Oracle

Disconnected Source Model Load

As part of the ongoing effort to support consultants in the field, the concept of a Disconnected Source Model Load has been introduced in the last release. For the Informix, SQL Server and Sybase plug-ins, a user can now extract the meta-data from the source database, using a set of scripts, into a set of files. These files can then be transferred to a machine where the Workbench is installed. The Workbench can then read the meta-data from the files into the Workbench repository. This means that a migration can be performed without having to install the Workbench at a customer site e.g. an Oracle consultant can ship the extraction scripts to the customer. The customer can run the scripts and return the output to the consultant. The consultant can perform the migration in their office and generate the required Oracle scripts.

Informix ESQL/C to Pro*C

This release now improves the existing Informix migration capability by including an E/SQL C to Pro*C static parser in the Informix 7.3 plugin. E/SQL C is one the most popular development languages for Informix applications. The E/SQL C static parser allows a user to migrate E/SQL C files to Oracle Pro*C. The user can perform Informix database migrations in the same way. There is now a menu option to browse for E/SQL C files and store them in the Workbench repository. Once in the repository, they are displayed in the Source Model UI tree (the UI tree for the E/SQL C files will reflect the directory structure from where the files were captured) shown below. The user may then map the E/SQL C files to Pro*C via an E/SQL C parser.

Parser Intelligence

The T/SQL parser is used to parse stored procedures, triggers and views contained in MS SQL Server 6.5, 7.0, 2000 and Sybase Adaptive Server 11, 12. The T/SQL parser now contains parser intelligence capable of working out the inter-dependencies among stored procedures. By implementing this feature the following improvements have been made to stored procedure migration in the SQL Server plug-ins
  • Stored procedures are now generated in the correct order e.g. Procedure A depends on Procedure B, thus Procedure B should be created before Procedure A
  • T/SQL Temporary tables can be utilized in 2 different ways when programming stored procedures. One approach consists of using T/SQL temporary tables to store result sets within a stored procedure for the exclusive use by that stored procedure. Alternatively, temporary tables can be used as a store for result sets between stored procedures, hence, acting like a communication mechanism between stored procedures. Since temporary tables in Oracle can't be created 'on the fly', a naming convention for temporary tables migrated from T/SQL, must be used. For example, temporary tables used exclusively within one stored procedure must be assigned a unique name, so that they don't collide with temporary tables used by other stored procedures. Temporary tables used as a form of communication between two or more stored procedures must have the same name. The Parser Intelligence feature allows the OMWB to work out which naming approach to use, because it knows which procedures call each other and the names of the temporary tables within the stored procedures.
  • The Parser Intelligence feature also ensures that if parameters are to be passed between procedures, then procedures will be called with the right PL/SQL IN/IN OUT parameters.

In order to improve the readability of the migrated application, weak ref cursors are now used to support result sets returned from stored procedures. The previous approach was to create a strongly typed cursor for every result set returned by a stored procedure. This meant that a unique package was required for every procedure that returned a result set. So, as an example, in the case where a user migrates 100+ stored procedures, this can lead to a lot of packages being created. The new approach means that only one multi-purpose package is required for all procedures, hence, the readability and maintainence of the migrated database is greatly improved.

As part of this release, temporary table support has been enhanced to be aware of those objects that get created within the 'tempdb' database and how they are referenced.