获取以Sybase为源或目标的表,修改表结构

      1、源表很容易找到

informatica数据迁移之Sybase2Oracle

目标表就杂乱无章了

informatica数据迁移之Sybase2Oracle

2、获取以Sybase为目标库的表

        首先查看Sybase下相关库的链接

informatica数据迁移之Sybase2Oracle

然后导出所有工作流xml文件,提取目标映射

informatica数据迁移之Sybase2Oracle


接着导出所有mapping xml文件根据映射名提取的目标表才是Sybase下特定模式的目标表

informatica数据迁移之Sybase2Oracle

3、源和目标表提取完后修改xml配置文件

   字段类型的修改:

           str = str.replace("DATATYPE =\"datetime\"","DATATYPE =\"date\"");  
            str = str.replace("DATATYPE =\"time\"","DATATYPE =\"date\"");   
            str = str.replace("DATATYPE =\"char\"", "DATATYPE =\"varchar2\""); 
            str = str.replace("DATATYPE =\"varchar\"", "DATATYPE =\"varchar2\"");
            str = str.replace("DATATYPE =\"int\"", "DATATYPE =\"number(p,s)\"");   
            str = str.replace("DATATYPE =\"numeric\"", "DATATYPE =\"number(p,s)\""); 
            str = str.replace("DATATYPE =\"decimal\"", "DATATYPE =\"number(p,s)\"");
            str = str.replace("DATATYPE =\"integer\"", "DATATYPE =\"number(p,s)\"");  
            str = str.replace("DATATYPE =\"smallint\"", "DATATYPE =\"number(p,s)\""); 
            str = str.replace("DATATYPE =\"tinyint\"", "DATATYPE =\"number(p,s)\""); 
            str = str.replace("DATATYPE =\"bit\"", "DATATYPE =\"number(p,s)\"");  
            str = str.replace("DATATYPE =\"number\"", "DATATYPE =\"number(p,s)\"");

 偏移量的修改:

informatica数据迁移之Sybase2Oracle

OFFSET(N)=OFFSET(N-1)+LENGTH(N-1);

PHYSICALOFFSET=PHYSICALOFFSET(N-1)+PHYSICALLENGTH(N-1)

日期类型的LENGTH \   PHYSICALLENGTH都设为19,精度SCALE设为0

数据库信息也做相应修改

informatica数据迁移之Sybase2Oracle

修改后导入选择替换规则

表结构就算修改完了;

4、导入源和目标XML后导出mapping修改源表所对应的Source Qualifier 字段类型

str = str.replace("DATATYPE =\"integer\"", "DATATYPE =\"decimal\"");否则修改连接后,会因为字段类型错误而导致映射无效

informatica数据迁移之Sybase2Oracle

informatica数据迁移之Sybase2Oracle

5、最后修改关系连接,导出所有session,必须是在修改并替换了表结构及mapping之后

informatica数据迁移之Sybase2Oracle

informatica数据迁移之Sybase2Oracle

修改完后导入替换,基本完事

最后因为客户端不能逐个导出xml文件,导成一个又会丢失信息不便解析,批量导出文件shell脚本如下



相关文章:

  • 2021-09-25
  • 2022-12-23
  • 2022-12-23
  • 2021-11-08
  • 2021-11-04
猜你喜欢
  • 2022-12-23
  • 2021-11-19
  • 2021-08-13
  • 2021-09-17
  • 2022-12-23
  • 2021-11-08
  • 2021-12-18
相关资源
相似解决方案