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保留的。

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

  • 相关阅读:
    怎样让人的一生价值最大
    [LeetCode][Java] Minimum Depth of Binary Tree
    KVC和KVO
    js获取单独一个checkbox是否被选中
    It's not a Bug, It's a Feature! (poj 1482 最短路SPFA+隐式图+位运算)
    超声波测距温度补偿
    系统封装接口层 cmsis_os
    STM32F4XX高效驱动篇2 I2C
    Stm32f103 ADC 学习笔记
    Stm32f103 DAC 学习笔记
  • 原文地址:https://www.cnblogs.com/java-oracle/p/6391432.html
Copyright © 2011-2022 走看看