La herramienta de migración de bases de datos Ispirer MnMTK puede convertir MySQL a SAP HANA. Usted puede utilizar nuestra herramienta para conversión de procedimientos almacenados, funciones, triggers, esquema de base de datos (DDL) y otros objetos de base de datos.
Descripción de Migración de MySQL a SAP HANA
La herramienta migra los siguientes objetos de base de datos y propiedades a SAP HANA:
- Conversión de Procedimientos Almacenados, Funciones y Triggers
- Conversión de Esquema DDL
- Conversión de Índices y Vistas
- Transferencia de Datos
Conversión de DDL:
- Convierte definiciones de columnas - tipos de datos, valores por defecto, restricciones NOT NULL
- Convierte claves primarias y externas
MySQL:
CREATE TABLE product_description ( `ID` INT(11) NOT NULL, `CATEID` INT(11) DEFAULT NULL, `LINEID` INT(11) DEFAULT NULL, `NAME` VARCHAR(50) DEFAULT NULL, `DESCRIPTION` VARCHAR(50) DEFAULT NULL, `CATENAME` VARCHAR(50) DEFAULT NULL, `CATEDESCRIPTION` VARCHAR(50) DEFAULT NULL, `LINENAME` VARCHAR(50) DEFAULT NULL, `LINEDESCRIPTION` VARCHAR(50) DEFAULT NULL, `PRODDATE` datetime DEFAULT NULL, PRIMARY KEY (`ID`) );
SAP HANA:
CREATE TABLE product_description ( ID INTEGER NOT NULL, CATEID INTEGER DEFAULT NULL, LINEID INTEGER DEFAULT NULL, NAME VARCHAR(50) DEFAULT NULL, DESCRIPTION VARCHAR(50) DEFAULT NULL, CATENAME VARCHAR(50) DEFAULT NULL, CATEDESCRIPTION VARCHAR(50) DEFAULT NULL, LINENAME VARCHAR(50) DEFAULT NULL, LINEDESCRIPTION VARCHAR(50) DEFAULT NULL, PRODDATE TIMESTAMP DEFAULT NULL, PRIMARY KEY(ID) );
Conversión de Procedimientos Almacenados:
- Convierte sintaxis de procedimientos y sentencias
- Convierte variables and parámetros
- Convierte comentarios
MySQL:
CREATE PROCEDURE CursorProc (INOUT prod_list VARCHAR(4000)) BEGIN DECLARE v_finished INTEGER DEFAULT 0; DECLARE v_prod VARCHAR(100) DEFAULT ""; DECLARE prod_cursor CURSOR FOR SELECT name FROM product_description; DECLARE CONTINUE HANDLER FOR NOT FOUND SET v_finished = 1; OPEN prod_cursor; get_prod: LOOP FETCH prod_cursor INTO v_prod; IF v_finished = 1 THEN LEAVE get_prod; END IF; SET prod_list = CONCAT(v_prod,";",prod_list); END LOOP get_prod; CLOSE prod_cursor; END;
SAP HANA:
CREATE PROCEDURE CursorProc(INOUT prod_list VARCHAR(4000)) LANGUAGE SQLSCRIPT AS v_finished INTEGER DEFAULT 0; v_prod VARCHAR(100) DEFAULT ''; CURSOR prod_cursor FOR SELECT name FROM product_description; BEGIN DECLARE EXIT HANDLER FOR NOT FOUND v_finished := 1; OPEN prod_cursor; LOOP FETCH prod_cursor INTO v_prod; IF :v_finished = 1 THEN BREAK; END IF; prod_list := :v_prod || ';'; END LOOP; CLOSE prod_cursor; END;
MySQL:
CREATE PROCEDURE `DropCreateTabProc`() BEGIN DROP TABLE IF EXISTS HANATEST.ProductLevel; CREATE TABLE ProductLevel( ID INT , PRODUCT INT , PRLEVEL INT , MINLEVEL INT , MAXLEVEL INT ); END;
SAP HANA:
CREATE PROCEDURE DropCreateTabProc LANGUAGE SQLSCRIPT AS v_if_exists INTEGER; BEGIN v_if_exists := 0; SELECT COUNT(*) INTO v_if_exists FROM "PUBLIC"."M_TABLES" WHERE schema_name = 'HANATEST' AND TABLE_NAME = 'PRODUCTLEVEL'; IF :v_if_exists > 0 THEN DROP TABLE ProductLevel; END IF; CREATE TABLE ProductLevel ( ID INTEGER, PRODUCT INTEGER, PRLEVEL INTEGER, MINLEVEL INTEGER, MAXLEVEL INTEGER ); END;
Conversión de Funciones Almacenados:
- Convierte sintaxis y sentencias
- Convierte variables and parámetros
- Convierte comentarios
MySQL:
CREATE FUNCTION CurVarFunc(var INT) RETURNS INT(11) BEGIN DECLARE var1 INT; DECLARE v_i CURSOR FOR SELECT employeeNumber FROM employees; DECLARE v_i1 CURSOR FOR SELECT employeeNumber FROM employees_audit; IF var = 1 THEN OPEN v_i; fetch v_i INTO var1; close v_i; END IF; IF var <> 1 THEN OPEN v_i1; fetch v_i1 INTO var1; close v_i1; END IF; RETURN var1; END;
SAP HANA:
CREATE PROCEDURE CurVarFunc(OUT RETURNVAL INTEGER,var INTEGER) LANGUAGE SQLSCRIPT AS var1 INTEGER; CURSOR v_i FOR SELECT employeeNumber FROM employees; CURSOR v_i1 FOR SELECT employeeNumber FROM employees_audit; BEGIN IF :var = 1 THEN OPEN v_i; fetch v_i INTO var1; close v_i; END IF; IF :var != 1 THEN OPEN v_i1; fetch v_i1 INTO var1; close v_i1; END IF; RETURNVAL := :var1; END;
Conversión de Triggers:
MySQL:
CREATE TRIGGER before_employee_update BEFORE UPDATE ON employees FOR EACH ROW BEGIN INSERT INTO employees_audit(id, actionc, employeeNumber, lastname, changedon) VALUES (OLD.id, 'update', OLD.employeeNumber, OLD.lastname, NOW()); END;
SAP HANA:
CREATE TRIGGER before_employee_update BEFORE UPDATE ON employees REFERENCING OLD ROW OLD FOR EACH ROW BEGIN INSERT INTO employees_audit (id, actionc, employeeNumber, lastname, changedon) VALUES(:OLD.id, 'update', :OLD.employeeNumber, :OLD.lastname, CURRENT_TIMESTAMP); END;
La siguiente demo presentación demuestra un ejemplo de migración de la base de datos MySQL a SAP HANA:
Características de Ispirer MnMTK para Conversión de MySQL a SAP HANA
- Conversión Rápida y Útil de SQL Scripts - Usted puede fácilmente comenzar la conversión de existentes sripts SQL - sentencias DDL, SQL dump de base de datos, consultas SQL, etc.
- Conversión con Conexión de Base de Datos - Ispirer MnMTK puede juntarse a MySQL, extraer y convertir la base de datos entera o sólo objetos y esquemas especificados
- Genera SQL scripts en la sintaxis de SAP HANA
- Soporte de Línea de Comandos puede ayudar a automatizar el proceso de migración
- Validación de Migración - La herramienta puede comparar el número de tablas, el número de filas, y realizar la validación de datos para todas o seleccionadas columnas (basadas en las claves primarias o la cláusula de orden especificada)
Por qué Ispirer MnMTK
Ispirer MnMTK y nuestro soporte garantizan un bajo costo y automatización de casi el 100% de la migración entera de MySQL a SAP HANA.
Automatización de ~ 100% de Todas las 3 Etapas - Consecuente e Integrada
- Etapa 1: Esquema de base de datos/DDL, lógica de negocio de servidor (procedimientos almacenados, triggers, etc.)
- Etapa 2: Transferencia y validación de datos
- Etapa 3: Código de aplicación front-end y SQL consultas/scripts
Rápida Personalización - Correcciones dentro de 1-2 días hábiles
Pre-Venta Cooperación - Nosotros realizamos la conversión completa durante la evaluación antes de que usted tome una decisión. Proceso de Cooperación
Bajo Costo - Ofrecemos precios flexibles
Conversión Optimizada - El código inteligente y fácil de mantener, sin ningún middleware de Ispirer utilizado después de la conversión
Lea más acerca de los Beneficios Clave de Ispirer MnMTK.
Si Usted tiene algunas preguntas o desea obtener más información, siempre puede ponerse en contacto con nosotros.
|