SSIS中 “条件拆分”组件中 ISNUMERIC的问题

来源:互联网 发布:node 命令行 编辑:程序博客网 时间:2024/04/27 23:42

SSIS 条件拆分组件中 ISNUMERIC的问题

 

SSIS的中没有提供有ISNUMERIC这个函数.

所以如果想在要条件拆分.将某个列数据是数值的数据和不是数值的数据分支的话,就不能直接使用条件拆分组件.

在这里使用脚本组件来完成此任务.

 

文本文件数据如下:

id,col

1,10

2,liang

3,50.4

4,562

5,lan

 

1.添加一个数据流任务.然后在数据流任务中.添加一个平面文件源.并设置好.在此设置不详说.

2.添加一个脚本组件”.并设置类型为转换”.双击进入脚本组件编辑器

输入列中选择”col” ,使用类型为ReadOnly

输入与输出选项卡中.添加一个输出”.名称为输出1”

3.并将输出1”中的ExclusionGroup设置为1, SynchronousInputID输入0”ID

并将输出0”中的ExclustionGroup设置为1. SynchronousInputID输入0”ID

 

4.然后在脚本”.设计脚本

 

Imports System

Imports System.Data

Imports System.Math

Imports Microsoft.SqlServer.Dts.Pipeline.Wrapper

Imports Microsoft.SqlServer.Dts.Runtime.Wrapper

 

Public Class ScriptMain

    Inherits UserComponent

 

    Public Overrides Sub 输入_ProcessInputRow(ByVal Row As 输入Buffer)

        Dim result As Double

        If Double.TryParse(Row.col, result) Then

            Row.DirectRowTo输出0()

        Else

            Row.DirectRowTo输出1()

        End If

    End Sub

 

End Class

 

 

完成脚本组件的设置.并设置两个分拆的输出.即可.

 

 

原创粉丝点击