Ispirer MnMTK convierte funciones de Informix 4GL a Microsoft SQL Server T-SQL.
Características de la Conversión
Base de datos Informix a base de datos Microsoft SQL Server:
- Tablas y Datos
- Convierte definiciones de columnas - tipos de datos, valores por defecto, restricciones NOT NULL
- Convierte las restricciones de integridad - claves primarias y externas, restricciones únicas y de verificación
- Convierte los comentarios
- Resuelve las palabras reservadas y conflictos de identificadores
- Transfiere datos
- Indexes and Views
- Procedimientos Almacenados, Funciones y Triggers
- Convierte procedimientos y funciones sobrecargados
- Convierte variables globales
- Convierte sintaxis de Informix OUTER JOIN
- Convierte procesamiento de excepciones
- Convierte SQL dinámico
Para obtener más detalles, por favor visite la página Migración de Informix a Base de Datos SQL Server.
Si sus funciones de Informix 4GL se utilizan con otra base de datos (por ejemplo, Oracle, DB2, etc.), usted puede obtener más información en la página Migración de Base de Datos Informix.
Conversión de código Informix 4GL a Microsoft T-SQL
Convierte funciones Informix 4GL (*.4gl) a funciones/procedimientos T-SQL (*.sql)
Informix 4GL:
FUNCTION sample_func(s_char) #-------------------# define s_char CHAR(100), i SMALLINT, j SMALLINT, r_char CHAR(100) let r_char = " " FOR i = 1 TO 100 IF (s_char[i,i] = " ") THEN continue FOR ELSE let r_char = s_char[i,100] exit FOR END IF END FOR RETURN r_char END FUNCTION
Microsoft SQL Server T-SQL:
FUNCTION sample_func(@s_char CHAR(2000)) ---------------------# RETURNS CHAR(2000) BEGIN DECLARE @i INT = 0 DECLARE @j INT = 0 DECLARE @r_char CHAR(100) = ' ' DECLARE @SWR_i INT SET @r_char = SUBSTRB(' ',1,100) SET @SWR_i = 1 while (@SWR_i <= 100) BEGIN SET @i = @SWR_i IF(SUBSTRB(@s_char,@i,1)) continue ELSE BEGIN SET @r_char = SUBSTRB(SUBSTRB(@s_char,@i,101 -@i),1,100) BREAK END SET @SWR_i = @SWR_i+1 END RETURN @r_char END
Convierte comentarios:
Comentarios de una sola línea
Informix 4GL:
#Comment
Microsoft SQL Server T-SQL:
--Comment
Comentarios de líneas múltiples
Informix 4GL:
{
Comments
}
Microsoft SQL Server T-SQL:
/* Comments */
Convierte tipos de datos
Informix 4GL type |
Microsoft T-SQL data type |
char(length) |
CHAR(length) |
smallint |
INT |
integer |
INT |
date |
DATETIME |
decimal(n,m) |
DECIMAL(n,m) |
Convierte registros a variables de tipo de tabla
Informix 4GL:
define c0 record LIKE ctl_f0.*
Microsoft SQL Server T-SQL:
DECLARE @c0 TABLE (ctl_f0_id INT, ctl_f0_name VARCHAR(100), ctl_f0_description VARCHAR(1000))
Convierte funciones incorporadas, expresiones y predicados
|
Tipo de datos Informix 4GL |
Tipo de datos Microsoft T-SQL |
función Ascii |
let a = ascii 223 |
SET a = CHAR(223) |
función Clipped |
let a = b clipped |
SET a = RTRIM(b) |
función Date |
let a = date(b) |
SET a = CONVERT(DATETIME, b) |
función Day |
let a = day(b) |
SET a = DATEPART(DAY, b) |
función Mdy |
let a = mdy(b,c,d) |
SET a = CONVERT(DATETIME,STR(b) + '-' + STR(c) + '-' + STR(d)) |
función Month |
let a = month(b) |
SET a = month(b) |
función Upshift |
let a = upshift(b) |
SET a = UPPER(b) |
función Using |
let a = b using "######&" |
SET a = STR(b,[’9999990’]) |
función Year |
let a = year(b) |
SET a = year(b) |
expresión Concat |
let a = b, “cd”,d |
SET a = b + [“cd”] + d |
expresión Mod |
let a = b mod 2 |
SET a = b%2 |
expresión Substring |
let a = b[2,2] |
SET a = substr(b,2,1) |
expresión True/False |
let a = true
let a = false |
SET a = true
SET a = false |
predicado Matches |
if (n not matches "[0123456789]") then |
if (not regexp_like(n,'[0123456789]')) then |
Convierte sentencias de lógica de negocio
Por ejemplo,
Para range loop
Informix 4GL:
FOR i = 1 TO 10… … END FOR
Microsoft SQL Server T-SQL:
SET @i = 1 while (@i <= 10) BEGIN … SET @i = @i+1 END
Sentencia Case
Informix 4GL:
CASE a WHEN 1 … WHEN 2 … otherwise … … END CASE
Microsoft SQL Server T-SQL:
IF @a = 1 … ELSE IF @a = 2 … ELSE IF … … ELSE … END
Cursor Declare
Informix 4GL:
DECLARE cur_n0 cursor FOR SELECT n0_ch FROM nkin_a WHERE (n0_kau_no = s_kau_no) AND (n0_cd = s_cd)
Microsoft SQL Server T-SQL:
DECLARE CUR_N0 cursor FOR SELECT n0_ch FROM nkin_a WHERE (n0_kau_no = s_kau_no) AND (n0_cd = s_cd)
Por qué Ispirer MnMTK
Ispirer MnMTK automatiza el proceso de migración de sus funciones Informix 4GL a Microsoft SQL Server T-SQL. Además, con Ispirer MnMTK usted elimina la mayoría de los riesgos asociados y reduce considerablemente los esfuerzos internos. Todos estos beneficios están disponibles a costos muy razonables y competitivos, lo que hace Ispirer MnMTK aún más atractivo instrumento para este tipo de proyecto.
Nuestra tecnología de conversión asegura:
- Código legible y mantenible
Generación de código legible y mantenible con calidad de conversión manual
- Transformación y Refactorización de código
Implementamos las mejores prácticas de T-SQL en lugar de emular la vieja tecnología en la nueva plataforma
- Las Últimas Tecnologías
- Código T-SQL Puro
No hay biblioteca o IP de Ispirer utilizados después de la conversión
Ispirer MnMTK es eficaz para convertir grandes scripts que contienen miles o millones de líneas de código:
- Resuelve Dependencias Automáticamente
Puede extraer información de los archivos dependientes, bases de datos, etc. para resolver automáticamente dependencias y conflictos
- Configuraciones
Puede leer información de varias archivos de configuración y archivos de proyecto (archivos de configuración de Ispirer MnMTK, archivos .xml)
- Personalización Rápida y Poderosa
Capas abstractas, modelos de conversión reutilizables, lenguaje de conversión interno y herramientas permiten personalización rápida y transformaciones de código complejas.
Nuestro Enfoque
Por favor, complete el cuestionario para iniciar las discusiones de colaboración para su proyecto o reciba algunas estimaciones aproximadas:
Para empresas ISV Ispirer ofrece Modelo de Cooperación integral para convertir aplicaciones con millones de líneas de código.
Solución de Migración de Ispirer
Informix 4GL a MS SQL Server T-SQL Solicitar
Si Usted está interesado en nuestros servicios de migración, por favor póngase en contacto con nosotros para recibir más información.
|