SqlTran - state of the art database migration for MySQL, SQL Server, Oracle.

SqlTran Overview

Migrating database objects

SqlTran supports translation of your whole database. The following objects are migrated:

Migrating data

Table data is migrated using the advanced algorithms, enabling SqlTran handle even the largest databases. SqlTran copies data in full speed with low memory footprint, even if database size is measured in terabytes. Instead of loading whole tables into memory, then transforming the data for correct output, SqlTran processes data in small chunks, while taking advantage of primary and unique keys to fetch data in fastest possible way without putting strain on source database server.

How does translation work?

SqlTran has advanced SQL code parsers, which parse and tag thousands of lines of your SQL code per second. We have built an advanced translator engine on top of these parsers. This means that a medium-size database is parsed and translated in just a few seconds. In fact, our parsers and translators are so fast, we translate all your database objects each time you load the saved project!
Simply put, SqlTran will read your database code and metadata by connecting to live source database server, or by reading it from provided SQL script. It then goes through each and every database object definition, analyzing each statement, expression, variable declaration, exception handling, etc. For each statement one or more statements are generated in native target database format, which achieves the same thing. Things get much more complex internally, of course, as each database has its own set of rules.

What if we want to customize the translation?

In cases where a specific code construct is not supported for automatic translation, or you simply have to rewrite a non-portable code, you can mark any number of database objects as manually overriden. In that case, you are free to change the generated SQL code, and SqlTran won't touch your changes. You can even save your changes as complete or incomplete, so when target database is generated, incomplete changes can be skipped. Of course, you can also choose to skip any objects you don't need in the target.

What is the average percentage of automatic translation?

This highly depends on the style of programming source database programmers have. There are some code constructs which can't be translated, nor emulated using alternative SQL statements. While our translator is powerful enough to enable us to do all the translation theoretically possible (and is improved continuously), we can't make the target database do something it isn't designed to do.
Typical automatic translation success is 95%-100% using version 1.0 of SqlTran. Of course, this percentage will grow over time.

What to do if SqlTran doesn't translate something we need?

There are two scenarios for this.

Getting support

If you find a problem in our translator, or have a suggestion how to better translate certain construct, contact our support team. You can send your whole project with a click of the button, and describe the issue. However, advices for specific migration problems which require in-depth analysis by our developers will be charged separately. Take a look at our support packages to learn more.

Introductory video

We made a short video recording to show how SqlTran works.
Video