从 IBM DB2 LUW 到 SAP HANA 迁移
数据库迁移工具Ispirer MnMTK可以转换从DB2 LUW到SAP HANA。您可以使用我们的转换工具为存储过程,功能,数据库图表(DDL),和其他数据库对象迁移。我们帮助我们的客户了解自动数据库和应用迁移解决方案的价值,使企业价值增长。
从DB2 LUW到SAP HANA迁移概观
该工具迁移以下数据库的对象和属性到SAP HANA:
- 存储过程,功能和触发器转换
- 图表(DDL)转换
- 索引和视图转换
- 迁移数据
DDL转换
- 转换列的定义 - 数据类型,缺省值,NOT NULL约束
- 转换主键和外键
Ispirer MnMTK工具特征为从DB2 LUW到 SAP HANA迁移
- SQL脚本的快和实用转换 - 您可能容易开始转换现有SQL 脚本 - DDL语句,数据库SQL dump,SQL 查询等。
- 转换与数据库连接 - Ispirer MnMTK可以连接DB2 LUW,提取和转换整个数据库或只是指定的对象和图式
- 生成SQL脚本在SAP HANA语法
- 命令行支持可以帮助您自动迁移过程
- 迁移的检验 - 该工具可以比较表的数,表的行,与履行数据的检验为所有或选择的列 (主关键字或指定的顺序子句基础上的)
为什么选择Ispirer MnMTK为迁移从DB2 LUW到SAP HANA
Ispirer MnMTK与我们支持保证低成本及近100%迁移的自动化。
- ~100% 自动化有三个阶段 - 一致与综合
- 第一阶段: 数据库图表/DDL,服务端域逻辑(PL/SQL存储过程,包,触发器,等)
- 第二阶段: 数据迁移和检验
- 第三阶段: 前端应用代码和SQL查询/脚本
- 快速定制 - 免费修补在1-2工作日
- 预售参与 - 我们在评估决定之前展示完全转换。参与过程
- 低成本 - 我们提供灵活定价
- 优化转换 - 智能和维护性代码,没有Ispirer用于转换后的中间设备
请查阅有关Ispirer MnMTK的主要好处。
Ispirer Toolkit 10
从 IBM DB2 LUW 到 SAP HANA 数据和SQL
SQL
数据
Ispirer Assessment Toolkit 10
从 IBM DB2 LUW 到 SAP HANA 下载
Ispirer Toolkit 10
从 IBM DB2 LUW 到 SAP HANA 数据和SQL
SQL
数据
如果您也需要从DB2 LUW迁移到SAP HANA,请随时与我们联系。
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)
);
存储过程转换:
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;
存储功能转换:
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;
触发器转换:
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;
视图转换:
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);
|