Ispirer Migration et Modernization Toolkit migre de la logique métier, des shémas de base de données (DDL) ainsi que des données de MS SQL Server vers SAP HANA.
Aperçu général de migration de SQL Server vers SAP HANA
L'outil permet la conversion des objets et des propriétés suivants:
- Conversion des Procédures Stockées, Fonctions et Triggers
- Conversion des DDL and DML
- Conversion des index et des vues
- Transfert des données
- Conversion des instructions DDL and DML:
Autres possibilités
- Outre la logique métier Ispirer MnMTK convertit également les requêtes SQL dans les applications frontales et les scripts pour se conformer à la syntaxe SQL de SAP HANA.
- En plus, l'outil est capable de convertir le code SQL Server vers Java et .NET.
- Support de ligne de commande vous aidera à automatiser le processus de migration.
- Validation de Migration - l'outil peut comparer le nombre de tables, le nombre de lignes et effectuer la validation des données pour toutes les colonnes sélectionnées (basées sur les clés primaires ou les clauses d'ordre spécifié)
Pourquoi Ispirer MnMTK pour migrer de SQL Server 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 (PL/SQL procédures stockées, paquets, 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
Caractéristiques de migration de MS SQL Server vers SAP HANA
Nous vous proposons de comprendre plus profondément les fonctionnalités de la migration depuis Microsoft SQL Server vers SAP HANA.
Conversion des instructions DDL and DML:
- Convertit les définitions des colonnes - types de données, valeurs par défaut, contraintes NOT NULL
- Convertit les propriétés IDENTITY. SQLWays créé SEQUENCE pour les colonnes IDENTITY. SEQUENCE peut être utilisé dans les instructions DML pour les valeurs des colonnes auto-incrémentées
- Convertit les clés primaires et étrangères
SQL Server:
CREATE TABLE [dbo].[DimPromotion](
[PromotionKey] [INT] IDENTITY(1,1) NOT NULL,
[PromotionAlternateKey] [INT] NULL,
[DiscountPct] [FLOAT] NULL,
[EnglishPromotionType] [nvarchar](50) NULL,
[SpanishPromotionType] [nvarchar](50) NULL,
[FrenchPromotionType] [nvarchar](50) NULL,
[EnglishPromotionCategory] [nvarchar](50) NULL,
[SpanishPromotionCategory] [nvarchar](50) NULL,
[FrenchPromotionCategory] [nvarchar](50) NULL,
[StartDate] [datetime] NOT NULL,
[EndDate] [datetime] NULL,
[MinQty] [INT] NULL,
[MaxQty] [INT] NULL
) ON [PRIMARY]
GO
INSERT INTO [dbo].[DimPromotion] ([PromotionAlternateKey],
[StartDate]) VALUES (123, GETDATE())
GO
SAP HANA:
CREATE TABLE DimPromotion
(
PromotionKey INTEGER NOT NULL,
PromotionAlternateKey INTEGER NULL,
DiscountPct FLOAT NULL,
EnglishPromotionType NVARCHAR(50) NULL,
SpanishPromotionType NVARCHAR(50) NULL,
FrenchPromotionType NVARCHAR(50) NULL,
EnglishPromotionCategory NVARCHAR(50) NULL,
SpanishPromotionCategory NVARCHAR(50) NULL,
FrenchPromotionCategory NVARCHAR(50) NULL,
StartDate TIMESTAMP NOT NULL,
EndDate TIMESTAMP NULL,
MinQty INTEGER NULL,
MaxQty INTEGER NULL
);
CREATE SEQUENCE DimPromotion_seq START WITH 1 INCREMENT BY 1;
INSERT INTO DimPromotion(PromotionKey, PromotionAlternateKey,
StartDate) VALUES(DimPromotion_seq.NEXTVAL, 123, CURRENT_TIMESTAMP);
Conversion des Procédures Stockées:
- Convertit les procédures de la syntaxe et des instructions
- Convertit les variables et les paramètres
- Convertit les commentaires
SQL Server:
CREATE PROCEDURE SP_DYNAMIC @TB_NAME VARCHAR,
@SWV_Ret DECIMAL OUT
AS
DECLARE @GRP_TBL_SQL VARCHAR(50)
SET @GRP_TBL_SQL = 'DROP TABLE ' + @TB_NAME + ';'
EXECUTE ( @GRP_TBL_SQL)
SET @SWV_Ret = 1
SAP HANA:
CREATE PROCEDURE SP_DYNAMIC (TB_NAME VARCHAR(1),
INOUT SWV_Ret DECIMAL)
LANGUAGE SQLSCRIPT
AS
GRP_TBL_SQL VARCHAR(50);
BEGIN
GRP_TBL_SQL := 'DROP TABLE '+:TB_NAME+';';
EXECUTE IMMEDIATE :GRP_TBL_SQL;
SWV_Ret := 1;
END
Conversion des fonctions:
- Convertit la syntaxe et les instructions
- Convertit les variables et les paramètres
- Convertit les commentaires
SQL Server:
CREATE FUNCTION [ufnLeadingZeros] (
@VALUE INT
)
RETURNS VARCHAR(8)
WITH SCHEMABINDING
AS
BEGIN
DECLARE @ReturnValue VARCHAR(8);
SET @ReturnValue = CONVERT(VARCHAR(8), @VALUE);
SET @ReturnValue = SUBSTRING (@ReturnValue,1,1) + @ReturnValue;
RETURN (@ReturnValue);
END
SAP HANA:
CREATE PROCEDURE ufnLeadingZeros
(OUT RETURNVAL VARCHAR(8),VALUE INTEGER)
LANGUAGE SQLSCRIPT
AS
ReturnValue VARCHAR(8);
BEGIN
ReturnValue := CAST(:VALUE AS VARCHAR(8));
ReturnValue := SUBSTRING(:ReturnValue,1,1)+:ReturnValue;
RETURNVAL :=(:ReturnValue);
END
Conversion des triggers:
SQL Server:
CREATE TRIGGER [dbo].[tr_fn_update]
ON [dbo].[Customer]
FOR UPDATE
AS
DECLARE @upd INT
SET @upd =1
IF UPDATE(StoreID)
BEGIN
DELETE FROM [dbo].[TblRec]
END;
IF UPDATE(TerritoryID)
BEGIN
INSERT INTO [dbo].[TblRec] VALUES(@upd)
END
GO
SAP HANA:
CREATE TRIGGER tr_fn_update
AFTER UPDATE
ON Customer
REFERENCING NEW ROW NEW, OLD ROW OLD
FOR EACH ROW
BEGIN
DECLARE v_upd INTEGER;
v_upd := 1;
IF :OLD.StoreID != :NEW.StoreID THEN
DELETE FROM TblRec;
END IF;
IF :OLD.TerritoryID != :NEW.TerritoryID THEN
INSERT INTO TblRec VALUES(:v_upd);
END IF;
END;
Conversion des vues:
SQL Server:
CREATE VIEW [dbo].[VW_INNER_DATE]
AS
SELECT
A.ModifiedDate
FROM
dbo.Test_Default B
INNER JOIN dbo.Customer A ON
B.C6 <= GETDATE() AND
'20500101' > GETDATE()
GO
SAP HANA:
CREATE VIEW VW_INNER_DATE
AS
SELECT
A.ModifiedDate
FROM
Test_Default B
JOIN Customer A ON
B.C6 <= CURRENT_TIMESTAMP AND
'20500101' > CURRENT_TIMESTAMP;
Contactez-nous pour en savoir plus.
|