`
lovnet
  • 浏览: 6963929 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

SQL Server Integration Service(SSIS)扩展开发自定义组件解决无效时间问题

阅读更多

1. 问题分析

1.1 验证环境

VS2005 TS SP1

SQL 2005 SP2 BI Studio

某企业客户提供的异常数据

1.2 问题场景

在某企业客户目前Informix数据当中存在很多小于1753-01-01的无效数据,而由于SQL 2005DateTime 数据类型的数据域是从 1753 1 1 日到 9999 12 31 ,会导致从Informix通过SSISSQL Server写入数据时出错。

1.3 解决思路

根据对问题的具体分析,给出以下几种解决办法:

1.从数据源清理根除无效数据;

2.通过将目标数据表的数据类型设置成整型或字符型解决;

3.通过编写包含IF逻辑判断子句的SQL语句解决;

4.通过SSIS扩展脚本组件编写逻辑代码块解决;

5.通过SSIS扩展开发可视化数据流组件来解决;

经过与某企业客户技术人员的讨论,决定采用对系统影响最小,不需改动数据库和SQL代码,不需编写逻辑代码块的第5种方式来解决,即开发SSIS扩展可视化数据流组件。

2. 解决步骤

2.1 组件安装

1.拷贝DateTimeLimiter.dll

C:\Program Files\Microsoft SQL Server\90\DTS\PipelineComponents

注:文件夹位置可能会因SQL安装位置而不同;

2.打开Visual Studio 2005 命令提示工具,输入:

gacutil.exe -iF "c:\Program Files\Microsoft Sql Server\90\DTS\PipelineComponents\DateTimeLimiter.dll"

3.打开SQL Server 2005 SSIS项目,选择并打开数据流任务

从左侧工具栏中“选择项”对话框中选取“SSIS数据流项”中的时间转换组件(如图)

2.2 组件使用

1.从数据流转换栏目中找到“时间转换”组件,并拖拽到数据流任务中

2.使用方式与数据转换类似,可在数据源和数据目标之间完成日期数据项的1753问题修复

2.3 运行结果验证

测试对比结果:

未使用时间转换组件时:

1753-1-1,1.0,A,湖滨南路五龙大厦龙启阁603,0.0

1753-2-1,2.0,O,?0.0

1979-7-12,3.0,T,2227826 8800681,0.0

1752-1-1,4.0,C,湖滨南路五龙大厦龙启阁603,0.0

1752-12-31,5.0,H,2227826 8800681,0.0

使用时间转换组件后:

1753-1-1, 1.0,A,湖滨南路五龙大厦龙启阁603,0.0

1753-2-1, 2.0,O,?0.0

1979-7-12, 3.0,T,2227826 8800681,0.0

1753-1-1, 4.0,C,湖滨南路五龙大厦龙启阁603,0.0

1753-1-1, 5.0,H,2227826 8800681,0.0

分享到:
评论

相关推荐

    SQL Server Integration Service(SSIS)入门操作手册

    SQL Server Integration Service (SSIS) 是一种用于数据集成、转换和加载的企业级工具,它在SQL Server 2005及后续版本中扮演着重要角色。SSIS 是Microsoft为构建Business Intelligence (BI) 应用提供的一部分,与...

    数据仓库 sql server integration service ssis基础指南

    数据仓库与SQL Server Integration Services (SSIS):深入解析与应用指南 数据仓库与SQL Server Integration Services (SSIS)是现代企业数据管理和分析的核心组成部分。SSIS作为Microsoft SQL Server平台的一部分,...

    SQLServer Integration Service 数据传输导入导出

    基于SQLServer2005 Integration Service的数据导入导出的案例, XML源->数据表->Excel文件,使用数据转换组件,XML组件,Excel 文件组件,利用事务控制和隔离机制管理多个组件件的数据同步

    ssis(SQL Server Integration Services)

    MS SQL Server 2005 的SSIS(SQL Server Integration Services),它和其他的ETL工具,如Informatic 在对ETL的处理手法上大同小异,区别不大,都是按照ETL和DW的概念来开发和使用的。

    SQL Server Integration Service 入门(SSIS 入门)

    SQL Server Integration Service(SSIS)是一款功能强大的数据集成工具,由 Microsoft 开发,用于将不同的数据源集成到一起。SSIS 提供了一个图形化的界面,允许用户设计、开发和管理数据集成项目。下面是 SSIS 入门...

    SQL_Server_Integration_Service入门手册

    ### SQL Server Integration Services (SSIS) 入门手册 #### SSIS 概览 SQL Server Integration Services (SSIS) 是 Microsoft 提供的一款强大的企业级数据整合平台,它首次出现在 SQL Server 2005 中,作为 ...

    SSIS-sql server integration services

    sql server integration services 安装包,下载可用。

    使用SQL Server作业执行SSIS包

    在企业级数据库管理和数据处理中,SQL Server Integration Services (SSIS) 是一个强大的工具,用于构建数据集成和ETL(提取、转换、加载)解决方案。SSIS 包含一系列组件,如数据流任务、控制流任务和事件处理,...

    SQLServer利用SSIS包定时同步新增数据到其它库

    - 添加执行步骤,选择“SQL Server Integration Service 包”作为类型,并指定 SSIS 包文件路径。 - 创建定时执行计划,设定具体的执行时间,例如每晚12点。 9. **关键步骤说明**: - SSIS 包的文件保护级别设置...

    sql server 2005 基于SSIS定制ETL解决方案

    SQL Server 2005中的SSIS(SQL Server Integration Services)是一种强大的ETL(Extract, Transform, Load)工具,用于在不同数据源之间提取、转换和加载数据。SSIS为构建企业级的数据集成解决方案提供了全面、可靠...

    SQL Server 2005 ETL专家系列-04 SQL Server 2005 Integration Service的扩展能力.zip

    **SQL Server 2005 ETL专家系列:SQL Server 2005 Integration Services的扩展能力** 在数据仓库和商业智能(BI)领域,提取、转换和加载(ETL)是至关重要的过程,用于从各种数据源收集数据,对其进行处理,并将其加载...

    SQL Server 2005 ETL 专家系列

    SQL Server 2005 ETL专家系列之四:SQL Server 2005 Integration Service的扩展能力 SQL Server 2005 ETL专家系列之五:SQL Server 2005 Integration Service的高级应用 SQL Server 2005 ETL专家系列之六:SQL ...

    SQLServer2005 Integration Service的特性与应用

    SQL Server 2005 Integration Services(简称SSIS)是微软提供的一款强大的数据集成和转换工具,用于在企业级环境中执行ETL(提取、转换、加载)任务。它是在SQL Server 2000的Data Transformation Services(DTS)...

    SQL Server从DTS到SSIS

    SQL Server Integration Services (SSIS) 作为一款企业级的提取、转换、加载(ETL)工具,在SQL Server 2005/2008版本中扮演着重要角色。而之前的SQL Server 2000版本中的Data Transformation Services (DTS) 在2005...

    SQL_Server_SSIS_学习指南

    **SQL Server Integration Services (SSIS)** 是Microsoft Business Intelligence (BI) 解决方案的重要组成部分,专门用于实现数据集成和工作流任务。SSIS的强大之处在于能够高效地处理大量数据迁移、清洗和转换的...

    SSIS自定义组件

    它包含了一系列预定义的任务和数据流组件,但有时预定义的功能可能无法满足特定业务需求,这时就需要开发自定义组件来扩展SSIS的能力。 自定义组件分为两类:自定义控制流组件和自定义数据流组件。 1. **自定义...

    Microsoft.SQL Server 2008 Integration Services

    **Microsoft SQL Server 2008 Integration Services (SSIS)** SQL Server 2008 Integration Services(简称SSIS)是微软提供的一款强大的数据集成和转换工具,它主要用于处理大量数据的ETL(Extract, Transform, ...

    SQL Server 2005 ETL专家系列-06 SQL Server 2005 Integration Service的运行管理

    10. **可扩展性与自定义组件**:SSIS允许开发人员创建自定义任务和转换,以满足特定业务需求或优化性能。 通过学习这一系列课程,IT专业人士将掌握如何有效地管理和运行SQL Server 2005 Integration Services,从而...

    SQL Server 2005 ETL专家系列-05 SQL Server 2005 Integration Service的高级应用

    【SQL Server 2005 ETL专家系列-05 SQL Server 2005 Integration Service的高级应用】 本课程是SQL Server 2005 ETL专家系列的一部分,主要聚焦于SQL Server 2005 Integration Services (SSIS) 的高级应用。ETL...

    SQLServer2008IntegrateService基础开发案例系列视频课程

    教程名称:SQL Server 2008 Integrate Service基础开发案例系列视频课程课程目录:【】(1):SSIS基本结构、开发和部署【】(10):向BIDS追加自定义组件【】(2):一个常见的ETL流程【】(3):使用参数和循环【】(4):...

Global site tag (gtag.js) - Google Analytics