zoukankan      html  css  js  c++  java
  • SSIS中对空值的处理

    1、准备

       1.1 建立目标数据库UserA:注意sex的默认值是“男”;

    USE [YZSY]
    GO
    /****** Object:  Table [dbo].[TUser]    Script Date: 2017/2/12 16:41:38 ******/
    SET ANSI_NULLS ON
    GO
    SET QUOTED_IDENTIFIER ON
    GO
    CREATE TABLE [dbo].[TUserA](
        [name] [nvarchar](50) NULL,
        [sex] [nvarchar](50) NULL
    ) ON [PRIMARY]
    
    GO
    ALTER TABLE [dbo].[TUserA] ADD  CONSTRAINT [DF_TUser_sex]  DEFAULT (N'') FOR [sex]
    GO

      1.2 构建源数据库User:且插入一个NULL值!  

     insert into [YZSY].[dbo].[TUser] values('张三',NULL)

       1.3 源数据库中真实数据

     

    2、通过SSIS进行数据抽取

       2.1  源编辑器设置:使用数据访问方式为:表或视图        

        2.2 目标编辑器设置:

           2.2.1 使用数据访问模式:表或视图

             2.2.2 执行包任务,抽取数据:此时我们看到抽取的数据结果源表中数据一样,但是,不要忘记了,目标数据表中对性别是有默认值的;尽管,源表张三的性别是NULL值(属于数据不完整,或者数据错误),但是我们ETL之后希望将这个问题解决,将张三的性别按照目标数据库的默认的值设置“男”,怎么做?   

          2.3 目标编辑器设置:

             2.3.1 使用数据访问模式:表或视图-快速加载 

          2.3.2、执行包,查看结果表内容:当然如果我们勾选“保留NULL”;系统还是会将NULL保留的。

     注意:使用“表或视图-快速加载”的方式,是对目标数据库进行的设置,对于源数据是没有作用的。

  • 相关阅读:
    觅踪2
    构建之法阅读笔记08
    觅踪1
    暑期第四周学习周总结
    暑期第三周学习周总结
    暑期第二周学习周总结
    数据库程序设计第九天--整合总结
    数据库程序设计第八天--隔离人员权限
    数据库程序设计第七天--隔离地权限
    数据库程序设计第六天--管理员权限
  • 原文地址:https://www.cnblogs.com/java-oracle/p/6391432.html
Copyright © 2011-2022 走看看