|
|
NEW!!! Subscribe to my
newsletter:
Want to keep in
touch with the latest in SQL Server world? Email vyaskn@hotmail.com with 'subscribe' in the subject
line |
|
|
Review of AdventNet SwisSQL Sybase to SQL Server Migration Tool 2.1
In a previous review, I looked at SwisSQL SQLOne Console from AdventNet, that converts SQL statements from one SQL dialect to another. That's a generic SQL Converter and supports conversion to and from Microsoft SQL Server, Sybase, Oracle, IBM DB2, Informix, MySQL, PostgreSQL and ANSI SQL.
Now it's time to review yet another migration related product from AdventNet. It is called "AdventNet SwisSQL Sybase to SQL Server Migration Tool 2.1". As the name suggests, this migration product automates the conversion of Sybase ASE (Adaptive Server Enterprise) T-SQL stored procedures, inbuilt functions, triggers, tables, views, and other database objects to Microsoft SQL Server T-SQL.
You might question the use of a migration tool that converts Sybase T-SQL to Microsoft SQL Server T-SQL, as both these dialects are very similar. In fact, Microsoft SQL Server has evolved from Sybase. Even though both Sybase and Microsoft went different ways with their RDBMS platforms, their T-SQL implementations
still share commonalities. At the same time, both Microsoft and Sybase have enhanced and improved their T-SQL implementations with their own extensions. This is where a product like SwisSQL Sybase to SQL Server Migration tool comes into play. This tool automates the typically painful and manual process of converting your database objects from Sybase T-SQL to Microsoft SQL Server T-SQL. Using a tool for this purpose makes sure your SQL code conversion is consistent through out, and saves you time and money, by reducing the human error factor.
Now lets get straight to the review. You can download an evaluation version from AdventNet website. This evaluation version is good for 30 days, and can convert upto 2000 lines of stored procedure code.
Make sure you download the installation which includes the Java Runtime Environment (JRE). Though the installation with JRE is bulky (24 MB, compared to 8 MB of installation file without JRE), it is worth downloading, as it'll save you time configuring the required JRE settings manually.
Installation is pretty straight forward, apart from the following issues. If you are running the setup on a Windows XP SP2 machine, XP will warn you saying the publisher for this software is 'Unknown'. This product is based on Java, and requires Java Runtime Environment. But Windows XP SP2 firewalls blocks Java from running. For this product to work, you have to make sure you are not blocking Java.
Here's how the product looks like, in action:
|
![Product screen shot](Images/sybase_sqlserver_1.jpg)
This tools allows you to migrate your database objects using two different methods. First method is to provide the tool with Sybase T-SQL script files, that is, offline migration. The other option is to fetch the Sybase database objects directly from Sybase server instance (online migration). This tool can connect to a Sybase server using either JDBC or ODBC.
As you can see from the above screen shot, the application window consists of two main areas:
The left hand side pane allows you to provide the input Sybase T-SQL scripts, and the right hand side pane provides access to the converted Microsoft T-SQL scripts.
This tool is pretty straight forward to use. Using the "Add" button on the left hand side pane, you can load your input Sybase T-SQL scripts into the application. You can select one or more script files from the 'File Open' dialog box. Similarly, you can use the "Wizard" button on the right hand side of the window, to connect to a Sybase Server, and fetch database objects for conversion.
Using the "Remove" button on the left hand side pane, you can delete the scripts that are already selected.
Using the "View TSQL" button, you can view the scripts inside the files that are currently loaded.
Once, all the required scripts are loaded into the application, you can use the "Migrate" button from the top row of buttons, to convert all the loaded files from Sybase T-SQL to Microsoft T-SQL. Alternatively, you can select one or more files, and convert only those files, using the "Migrate Selected Files" button.
During the conversion process, a "Migration Progress Viewer" appears. This windows shows you the current status of the conversion. You can access detailed information about the performed conversion, by clicking on the "View Report" button. Here's a screen shot of "Migration Progress Viewer":
There's a "Parse TSQL files" button in the top row of buttons, that I found quite useful. This feature is useful for checking the input files for syntax errors and other potential problems, before the actual conversion. This functionality can also be invoked from the Action > Examine menu item, or by clicking Ctrl + E.
Press "F1" to access the help files for this product. The "User Guide" in the help file provides, step by step instructions for migrating your Sybase database objects to SQL Server.
Here's an example, of a Sybase T-SQL script, and an equivalent Microsoft SQL Server T-SQL script produced by this tool. Notice how the RAISERROR is converted:
Sybase T-SQL:
CREATE PROCEDURE TestProcedure
(
@i int
)
AS
BEGIN
IF @i < 0
BEGIN
RAISERROR 20002, '@i CANNOT BE LESS THAN 0.'
END
ELSE
BEGIN
SELECT id, Name FROM MyTable WHERE id = @i
END
END
Equivalent Microsoft SQL Server T-SQL version, generated by SwisSQL Sybase to SQL Server Migration Tool:
/*(#!) AdventNet SwisSQL - Sybase to SQL Server database migration tool
Migration done using version : 2.1
Migration performed at : Wed Oct 19 00:06:04 BST 2005 (!#)*/
--ADVENTNET DROP SCRIPTS
IF EXISTS ( SELECT name from sysobjects where name='TestProcedure' AND type='P')
DROP PROCEDURE TestProcedure
GO
CREATE PROCEDURE dbo.TestProcedure
(
@i int
)
AS
SET NOCOUNT ON
BEGIN
IF @i < 0
BEGIN
RAISERROR ( '@i CANNOT BE LESS THAN 0.', 16, 1 )
END
ELSE
BEGIN
SELECT
id,
Name
FROM MyTable
WHERE id = @i
END
END
GO
The above is just a simple example, but this product is capable of converting more complex queries, stored procedures and other Sybase SQL Scripts into SQL Server.
The only downside I can think of is that, this product is a Java based application, and as such does not conform to Microsoft Windows User Interface guidelines. For example, you may not be able to close a dialog box by pressing the Esc key. Or Ctrl + C may not copy text to clipboard, for example. But don't get discouraged by this comment, as the product itself is a powerful tool for the DBA and database developer community involved in database migrations. I was assured by SwisSQL that they are working on improving the usability of the product.
Here's a tip. By default, every time you start this application, a command prompt window also starts up, and stays open, as long as the main application is open. If this annoys you, then there's a way to prevent this command prompt window from staying visible. Here's how:
1) Edit the "runSybaseToSQLServer.bat" file under /bin/ folder
2) Modify the option as shown below:
Original statement:
"%javahome%\bin\java"
Modified statement:
start %javahome%\bin\javaw
Now start the product. The command prompt window will be displayed only for a moment and it will disappear.
Well, this is it for now. You can download a free evaluation version of AdventNet SwisSQL Sybase to SQL Server Migration Tool, from here.Note that SwisSQL provides free technical support during the evaluation period.
|