THIS SITE USES COOKIES: By continuing to browse this site, you give your consent for cookies to be used.
For more details, please read our Privacy Policy and Cookies Policy.

Automated and Customizable
Database and Application
Migration and Modernization

Microsoft SQL Server Transact-SQL to Vertica


Ispirer MnMTK is the application migration tool, which supports SQL Server T-SQL to Vertica conversion.

Why Ispirer MnMTK?

We develop our conversion tool Ispirer MnMTK using a customer-oriented approach in order to meet all your project requirements. Ispirer MnMTK is highly customizable and can be extended in a short time according to your project needs. Such customizations allow to achieve up to 99% of automation of SQL Server to Vertica migration. You can choose either a tool license or our migration services to convert your Microsoft SQL Server T-SQL to Vertica.

Our main advantages:

  • High quality and experienced technical support: our technical team has a tremendous experience in migration projects of different levels of complexity. We will help you to migrate from Microsoft SQL Server Transact-SQL to Vertica quickly and easily.
  • Customer-oriented approach and Fast Customization: we personalize our migration tool in such a way that a customized version can fully satisfy our client’s business needs, custom conversions and optimizations are made within 1-2 business days;
  • Pre-Sales Engagement: we demonstrate a full conversion during the evaluation before you make a decision.
  • Flexible pricing: we can offer you a wide range of options, among which you will definitely find the one which suits you;
  • Optimized Conversion: after the conversion you get an intelligent and maintainable code, without using any Ispirer's middleware.

Live Presentation

Ispirer Migration Solution

MS SQL Server T-SQL to Vertica


Request a Quote

Ispirer Migration Solution

MS SQL Server T-SQL to Vertica

Service Toolkit

Conversion Features

Ispirer MnMTK has built-in functionality of migrating Microsoft SQL Server triggers, procedures and functions to Vertica’s Java scalar function. The tool will create a few separate files for each Transact-SQL (T-SQL) element.

From one T-SQL function or procedure two files are created:

  • File with function class that carries out the processing you want your UDF to perform.
  • File with factory class that provides metadata about the function class, and creates an instance of it to handle function calls.

SQL Server procedure migration

Source SQL Server procedure:

  2. CREATE PROCEDURE basic_procedure
  3. @j INT
  4. AS
  5. BEGIN
  6. SET @j=10
  7. END
  8. GO

Java code with User Defined Scalar Functions (UDSFs):

  2. import com.vertica.sdk.*;
  3. public class BasicProcedureFactory extends ScalarFunctionFactory
  4. {
  5. @Override
  6. public void getPrototype(ServerInterface srvInterface,
  7. ColumnTypes argTypes, ColumnTypes returnType)
  8. {
  9. RETURN TYPE.addInt();
  10. }
  11. @Override
  12. public ScalarFunction createScalarFunction
  13. (ServerInterface srvInterface)
  14. {
  15. RETURN NEW BasicProcedure();
  16. }
  17. public class BasicProcedure extends ScalarFunction {
  18. @Override
  19. public void processBlock(ServerInterface srvInterface,
  20. BlockReader argReader, BlockWriter resWriter)
  21. throws UdfException, DestroyInvocation {
  22. do {
  24. j=10;
  25. resWriter.setLong(1);
  26. }while(argReader.NEXT());
  27. }
  28. }
  29. }

You should compile the into a class file, so that you could include it in your Java UDF JAR library. If you are using an Vertica node as a development system, you can either copy the file to another location on your host, or compile it in place if you have root privileges.

Source SQL Server procedure:

  2. CREATE PROCEDURE sp_select
  3. AS
  4. BEGIN
  5. DECLARE @customerID INT,
  6. @CityCount INT
  7. SELECT @CustomerID=CustomerID, @CityCount = COUNT(City)
  8. FROM customer
  9. GROUP BY customerID;
  10. END
  11. GO

Java code:

  2. import java.SQL.*;
  3. import java.util.Properties;
  4. import com.vertica.sdk.*;
  5. public class SpSelect extends ScalarFunction {
  6. @Override
  7. public void processBlock(ServerInterface srvInterface,
  8. BlockReader argReader, BlockWriter resWriter)
  9. throws UdfException, DestroyInvocation
  10. {
  11. Properties mProp=NEW Properties();
  12. Connection mConn = DriverManager.getConnection
  13. ("jdbc:default:connection",mProp);
  14. mConn.setAutoCommit(FALSE);
  15. INTEGER ErrorCode = -1;
  16. String SqlState = "";
  17. do {
  18. INTEGER CustomerID=NULL;
  19. INTEGER CityCount=NULL;
  21. try (PreparedStatement pstmt=mConn.prepareStatement
  22. ("SELECT CustomerID,COUNT(City)
  23. FROM customer GROUP BY customerID");)
  24. {
  25. try( ResultSet s = pstmt.executeQuery();)
  26. {
  27. IF(rs.NEXT())
  28. {
  29. CustomerID = rs.getInt(1);
  30. CityCount = rs.getInt(2);
  31. }
  32. }

You are also welcome to reach us via Contacts page.

December 3, 2012Epicor Software Corporation, United States
Progress 4GL to C#.Net Migration

"Epicor has engaged with the Ispirer team to create and refine prototype techniques for migrating certain parts of the Epicor Progress ABL code to well...


Case Studies
May 26, 2014COBOL to .NET Conversion, United States

Our client was a major player in market-driven innovation and science. For more than two hundred years, it has been presenting world-class science and engineering to the global marketplace...


September 12, 2014Delphi to C# .NET, United States

Our client was a U.S.-based health insurance company providing care services since six decades through its extensive network of hospitals and other institutions.



The team has run few code conversion. It’s a very powerful and friendly tool.

Read more
Industry Events