智能和高度自动化的跨平台数据库和应用程序迁移


从 Informix 4GL 到 Oracle PL/SQL 转换

Oracle

Ispirer现代化转换工具支持从Informix 4GL到Oracle PL/SQL不同复杂程度应用转换! Migration and Modernization Toolkit是按照您项目的条件很易于制定的工具。


为什么选择Ispirer MnMTK为从Informix 4GL到Oracle PL/SQL转换?

Ispirer Systems一直以实现高品位和一流的数据库迁移而备受关注。我们调整我们的迁移工具Ispirer MnMTK定制版以这样的方式能充分符合客户的业务需求。

我们主要好处:

  • 高素质和经验丰富的技术支持: 我们的技术团队拥有在复杂程度不同的迁移项目的工作经验。
  • 客户至上的方针和快速定制: 我们个性化我们的迁移工具可以充分满足客户的业务需求,定制的转换和优化在1-2工作日完成。
  • 预售参与 : 我们会在评估决定之前展示完全转换。
  • 灵活的定价策略: 我们为您提供广泛的选择,其中您一定会找到最适合您的价格方案。
  • 优化转换-: 没有Ispirer的文库或转换后使用IP

评估过程

请填写调查问卷,以开始您项目中的谈判或得到粗略的估计:



现场演示

Ispirer转换解决方案

从 Informix 4GL 到 Oracle PL/SQL

请求

请求报价

Ispirer转换解决方案

从 Informix 4GL 到 Oracle PL/SQL

服务 工具

转换特征

  • 把Informix 4GL函数(*.4gl)转换到PL/SQL函数/过程(*.sql)

  • Informix 4GL:

    
    function sample_func(s_char)
    #-------------------#
    define
        s_char          char(100),
        i               smallint,
        j               smallint,
        r_char          char(100)
    
        let r_char = " "
    
        for i = 1 to 100
            if (s_char[i,i] = " ") then
                continue for
            else
                let r_char = s_char[i,100]
                exit for
            end if
        end for
    
        return r_char
    
    end function
    

    Oracle PL/SQL:

    FUNCTION  sample_func(s_char IN CHAR) 
    ---------------------#
    return CHAR
     as  
       i  NUMBER(5,0) := 0;
       j  NUMBER(5,0) := 0;
       r_char  CHAR(100) := ' ';
    BEGIN
       r_char := SUBSTRB(' ',1,100);
       FOR SWR_i IN 1 .. 100
       LOOP
        i := SWR_i;
          if (SUBSTRB(s_char,i,1)) then
             continue;
          else
             r_char := SUBSTRB
    (SUBSTRB(s_char,i,101 - i),1,100);
             exit;
          end if;
       END LOOP;
       return r_char;
    end;
    
  • 注释转换:

  • 单行注释

    Informix 4GL:

     
    

    #Comment

    Oracle PL/SQL:

     
    

    --Comment

    多行注释:

    Informix 4GL:

     
    

    { Comments }

    Oracle PL/SQL:

     
    

    /* Comments */

  • 数据类型转换

  • Informix 4GL类型 Oracle PL/SQL数据类型
    char(length) CHAR(length)
    smallint NUMBER(5,0)
    integer NUMBER(10,0)
    date DATE
    decimal(n,m) NUMBER(n,m)

  • 记录转换

  • like id.*记录

    Informix 4GL

    define     c0 record like        ctl_f0.*
    

    Oracle PL/SQL:

    c0 ctl_f0%rowtype;

    记录与记录清单

    Informix 4GL:

    define w_just record
       b_yy            integer,
       b_mm            integer,
       b_dd            integer
         end record
      
    Usage:
    Let wjust.* = c0.*
    

    Oracle PL/SQL:

    TYPE SWT_w_just IS record(b_yy NUMBER(10,0),
    b_mm NUMBER(10,0),b_dd NUMBER(10,0));
        w_just  SWT_w_just;
    
    Usage:
    wjust := c0;
    

    数组记录与记录清单

    Informix 4GL:

    define nbw  array[4,60] of record
            nb_g_kbn    char(1),
            nb_g_nymd    char(7)  
        end record
      
    Usage:
    let nbw[1,i].*=nbw[4,i].*

    Oracle PL/SQL:

    TYPE SWT_nbw IS record(nb_g_kbn  CHAR(1),nb_g_nymd  CHAR(7));
    TYPE SWT_nbw2 IS VARRAY(60) OF SWT_nbw;
    TYPE SWT_nbw3 IS VARRAY(4) OF SWT_nbw2;
    nb1w  SWT_nbw3;
    
    Usage:
    nbw(1)(i) := nbw(4)(i);
    
  • 内置函数、表达式与谓词的转换

  • Informix 4GL类型 Oracle PL/SQL数据类型
    Ascii函数 let a = ascii 223 a:= chr(223);
    Clipped函数 let a = b clipped a:= RTRIM(b);
    Date函数 let a = date(b) a:= to date(b);
    Day函数 let a = day(b) a:= EXTRACT(day from b);
    Mdy函数 let a = mdy(b,c,d) a := TO_DATE(TO_CHAR(b) || '-' || TO_CHAR(c) || '-' || TO_CHAR(d),'mm-dd-yy');
    Month函数 let a = month(b) a := EXTRACT(month from b);
    Upshift函数 let a = upshift(b) SET a = UPPER(b)
    Using函数 let a = b using "######&" a := to_char(b,’9999990’);
    Year函数 let a = year(b) a := EXTRACT(year from b);
    Concat表达式 let a = b, “cd”,d a := b || “cd” || d;
    Mod表达式 let a = b mod 2 a := mod(b, 2);
    Substring表达式 let a = b[2,2] a := substr(b,2,1);
    True/False表达式 let a = true
    let a = false
    a := 1;
    a := 0;
    Matches谓词 if (n not matches "[0123456789]") then if (not regexp_like(n,'[0123456789]')) then
    True谓词 while(true) while(1 = 1)

  • 业务逻辑的语句转换

  • 例如,

    用于range loop

    Informix 4GL:

    for i = 1 to 10…
    …
    End for
    

    Oracle PL/SQL:

    FOR i IN 1..10 
    LOOP
    …
    END LOOP;
    
    

    Case语句

    Informix 4GL:

    case a
      when 1 
      …
      when 2 
      …
      otherwise
      …
    …
    end case
    

    Oracle PL/SQL:

     case a
      when 1 
      THEN
      …
      when 2 
      THEN
      …
      ELSE
      …
    …
    end case
    
    
    • Declare cursor

    Informix 4GL:

    
    declare cur_n0 cursor for
                    select n0_ch from nkin_a
                        where (n0_kau_no = s_kau_no)
                        and   (n0_cd = s_cd)
    

    Oracle PL/SQL:

    cursor cur_n0 IS select n0_ch from nkin_a
       where (n0_kau_no = s_kau_no)
       and   (n0_cd = s_cd);
    
    

    如果您也需要从Informix 4GL转换到Oracle PL/SQL,请联系我们,我们将很高兴为您服务!

 
客户评价
System Protocol Information, 马来西亚
Informix到Microsoft SQL Server数据库迁移

尊敬的先生们,

我们刚刚完成了到目前为止最大的从Informix到MS SQL Server迁移任务。这项运动是按计划按时完成的。这是成功的,感谢您工具做很大一部分。

...

Bellnet (HAS), 日本
Delphi转成C#

我们的客户BELLNET是一家日本IT公司,它维护用于控制医疗设备的计算机软件。它需要把这样的医疗软件迁移从Delphi到C#,并联系我们要求转换工具。

...

Steek-IT,荷兰
Progress迁移到SQLServer

Steek-IT是一家荷兰ICT公司,具有15年以上的数据迁移经验。除了我们专业的领域MSSQL、SSIS、SSAS,我们还创建网站、企业软件和iOS应用程序。

...

案例研究
Informix 4GL转移到Microsoft SQL Server的解决方案, 美国

我们的客户是一家值得信赖的美国公司,为美国的100000多家中小企业提供人力资源服务和业务解决方案。

...

Oracle Forms迁移到Java, 美国
用于Ispirer MnMTK的Oracle Forms自动化迁移到Java的可行性已被证明!

于2017年初,一家全球信息技术咨询公司联系Ispirer Systems。该公司与组织合作,制定技术战略并实现IT解决方案,增强公司的业务能力。

...

IBM DB2 iSeries迁移到Microsoft SQL Server, 美国

来自美国的全方服务资讯科技公司,致力于软件和应用程序开发、再工程和维护。该公司提供Web服务,包括网站设计、网站托管和SEO。也从事CRM系统的实施、升级和管理。

...