ALERTE COOKIE : En naviguant sur notre site, vous acceptez l’utilisation de cookies.
Pour en savoir plus, n’hésitez pas à lire notre Politique de confidentialité et Politique d’usage de cookies.

Migration de Base de données et d'Application multiplateforme Hautement Automatisée, Personnalisée et Optimisée


Migration de MySQL vers SAP HANA

SAP HANA

Ispirer Migration and Modernization Toolkit est capable de convertir des schémas de base de données (DDL), des données et la logique métier depuis MySQL vers SAP HANA et peut être personnalisé selon les demandes de votre projet de migration.


Pourquoi Ispirer MnMTK pour migrer de MySQL vers SAP HANA ?


Effectuez votre migration avec Ispirer Systems et profitez donc des avantages suivants que vous offre cet outil:

  • Cohérence et Intégration: automatisation jusqu'à 100% au cours des trois étapes
    • 1ère étape: Schéma de base de données/DDL, logique métier côté serveur (procédures stockées, fonctions, triggers, etc)
    • 2ème étape: Transfert des données et validation
    • 3ème étape: Code d'application frontal et requêtes/scripts SQL
  • Personnalisation rapide: individualisation et optimisation de la converson (1-3 jours ouvrables en moyenne)

  • Engagement pré-vente: nous démontrons une conversion complète au cours de l'évaluation avant que vous preniez une décision

  • Prix Raisonnable: nous offrons une tarification souple

  • Conversion Optimisée: en tant que résultat vous obtenez un code intelligent et maintenable, sans aucun middleware à utiliser après la conversion

Présentation en direct

Ispirer Migration Solution

MySQL vers SAP HAHA

Commander

Demander un devis

Ispirer Migration Solution

MySQL vers SAP HAHA

Service L'outil

Caractéristiques de la migration depuis MySQL vers SAP HANA

L’outil migre les objets et les propriétés de bases de données suivants vers SAP HANA:

  • Conversion de procédures stockées, fonctions et déclencheurs
  • Conversion de schéma(DDL)
  • Conversion d’indexes et de vues
  • Transfert de données

Conversion de DDL:

  • Convertit les définitions de colonnes – types de données, valeurs par défaut, contraintes NOT NULL
  • Convertit les clés primaires et étrangères

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)
);
 

Conversion de procédures stockées :

  • Convertit la syntaxe de procédures et les instructions
  • Convertit les variables et les paramètres
  • Convertit les commentaires

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;
 

Conversion de fonctions stockées:

  • Convertit la syntaxe et les instructions
  • Convertit les variables et les paramètres
  • Convertit les commentaires

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;
 

Conversion de déclencheurs:

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;
 



Contactez-nous pour en savoir plus.

 
Témoignages
Decitre, France

Sybase ASE vers PostgreSQL

Nous recherchions un outil pour effectuer une migration de Sybase à PostgreSQL.

Après quelques recherches nous avons trouvé l’outil d’Ispirer que nous avons...

...

TSS Consultancy, Inde

Microsoft SQL Server vers Oracle

Tout a commencé lorsque mon entreprise était à la recherche de la solution de migration de la base de données SQL Server vers Oracle. Plus de 10...

...

Etudes de cas
IBM DB2 LUW vers PostgreSQL, Etats-Unis

Notre client était la société publique américaine et l'unité indépendante du gouvernement de l'État.

...

Sybase ASE vers Microsoft SQL Server, Chili

Ispirer a déjà réalisé des projets pour des clients sur sept continents, y compris l'Amérique du Sud. Cette fois, nous avons eu l'honneur de coopérer avec un grand fabricant de logiciels basé au...

...