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 côté serveur de IBM DB2 vers SAP HANA et peut être personnalisé selon les demandes de votre projet de migration.
Pourquoi Ispirer MnMTK pour migrer de DB2 vers SAP HANA?
Effectuez votre migration avec Ispirer Systems et profitez donc des avantages suivants que vous offre notre outil:
-
Automatisation jusqu'à 100% au cours des trois étapes - Cohérence et Intégration:
- 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
Ispirer Migration Solution
DB2 vers SAP HANA Commander
Aperçu général de la migration de DB2 vers SAP HANA
L’outil migre les objets et les propriétés de base de données suivants vers SAP HANA:
- Conversion de procédures stockées, fonctions et triggers
- Conversion de Schéma (DDL)
- Conversion d’index, vues et séquences
- Transfert de données
Conversion 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
DB2:
CREATE TABLE EMPLOYEE
(EMP_NO INT NOT NULL,
SALARY DOUBLE NOT NULL,
FIRST_NAME VARCHAR(12) NOT NULL,
DATESTART DATE DEFAULT CURRENT DATE,
PRIMARY KEY (EMP_NO)
)
;
SAP HANA:
CREATE TABLE EMPLOYEE
(
EMP_NO INTEGER NOT NULL,
SALARY DOUBLE NOT NULL,
FIRST_NAME VARCHAR(12) NOT NULL,
DATESTART DATE DEFAULT CURRENT_DATE,
PRIMARY KEY(EMP_NO)
);
Conversion de procédures stockées:
- Convertit la syntaxe, les curseurs et les instructions de procédures
- Convertit les variables et les paramètres
- Convertit les commentaires
DB2:
CREATE PROCEDURE MEDIAN_RESULT_SET (MedianSalary DOUBLE)
RESULT SETS 1
LANGUAGE SQL
BEGIN
DECLARE c2 CURSOR WITH RETURN FOR
SELECT EMP_NO, SALARY
FROM EMPLOYEE
WHERE SALARY > MedianSalary
ORDER BY SALARY;
OPEN c2;
END;
SAP HANA:
CREATE TYPE SWT_MEDIAN_RESULT_SET
AS TABLE(EMP_NO INTEGER, SALARY DOUBLE);
CREATE PROCEDURE MEDIAN_RESULT_SET(medianSalary DOUBLE,
OUT SWV_Result SWT_MEDIAN_RESULT_SET)
LANGUAGE SQLSCRIPT
AS
BEGIN
SWV_Result = SELECT EMP_NO, SALARY
FROM EMPLOYEE
WHERE SALARY > :MedianSalary
ORDER BY SALARY;
END;
Conversion de fonctions de procédures stockées:
- Convertit la syntaxe et les instructions
- Convertit les variables et paramètres
- Convertit les commentaires
DB2:
CREATE FUNCTION HANA.REVERS(INSTR VARCHAR(4000), POS INT)
RETURNS VARCHAR(1000)
DETERMINISTIC NO EXTERNAL ACTION CONTAINS SQL
BEGIN ATOMIC
DECLARE REVSTR VARCHAR(4000);
DECLARE LEN INT DEFAULT 0;
SET LEN = LENGTH(INSTR);
SET REVSTR = SUBSTR(INSTR, POS, LEN - POS +1);
RETURN REVSTR;
END ;
SAP HANA:
CREATE PROCEDURE HANA.REVERS(OUT RETURNVAL VARCHAR(1000),
INSTR VARCHAR(4000), POS INTEGER)
LANGUAGE SQLSCRIPT
AS
REVSTR VARCHAR(4000);
LEN INTEGER DEFAULT 0;
BEGIN
LEN := LENGTH(:INSTR);
REVSTR := SUBSTRING(:INSTR,:POS,:LEN -:POS+1);
RETURNVAL := :REVSTR;
END;
Conversion des triggers:
DB2:
CREATE TRIGGER RAISE_LIMIT
AFTER UPDATE OF SALARY ON EMPLOYEE
REFERENCING NEW AS N OLD AS O
FOR EACH ROW
WHEN (N.SALARY > 1.1 * O.SALARY)
BEGIN
DECLARE MAX_SALARY FLOAT;
SELECT MAX(SALARY) INTO MAX_SALARY FROM EMPLOYEE
WHERE EMP_NO = O.EMP_NO;
IF N.SALARY > MAX_SALARY
THEN UPDATE SAMPLE SET SALARY = N.SALARY
WHERE EMP_NO = O.EMP_NO;
END IF;
END;
SAP HANA:
CREATE TRIGGER RAISE_LIMIT
AFTER UPDATE
ON EMPLOYEE
REFERENCING NEW ROW N,OLD ROW O
FOR EACH ROW
BEGIN
DECLARE MAX_SALARY FLOAT;
IF :N.SALARY > 1.1*:O.SALARY THEN
SELECT MAX(SALARY) INTO MAX_SALARY FROM EMPLOYEE
WHERE EMP_NO = :O.EMP_NO;
IF :N.SALARY > :MAX_SALARY
THEN
UPDATE SAMPLE SET SALARY = :N.SALARY
WHERE EMP_NO = :O.EMP_NO;
END IF;
END IF;
END;
Conversion de vues:
DB2:
CREATE VIEW VW_BONUS(customer, bonus) AS
SELECT name, total/items_count * rate FROM
CUSTOMERS INNER JOIN ORDERS
ON CUSTOMERS.id = ORDERS.order_id
WHERE date_of_birth >= CURRENT_DATE - 18 YEARS ;
SAP HANA:
CREATE VIEW VW_BONUS(customer, bonus) AS
SELECT name, total/items_count*rate FROM
CUSTOMERS JOIN ORDERS
ON CUSTOMERS.id = ORDERS.order_id
WHERE date_of_birth >= ADD_YEARS(CURRENT_DATE,-18);
Contactez-nous pour en savoir plus.
|