SSIS 数据源组件的External Metadata和Advanced Property

1,SSIS的组件属性ValidateExternalMetadata

如果一个Destination组件使用的是上游创建的staging table,那么必须设置 ValidateExternalMetadata=false,这样组件对staging table的ExternalMetadata的检查延迟组件运行时。

2,ExternalMetadata是外部数据源的Metadata,数据源组件需要从外部db中获取Column的Name,DataType,Length,Scale,Precision,CodePage,SortKeyPosition属性。可以通过数据源组件的AdvancedEditor查看ExternalMetadata。

ExternalMetadata属性示例

数据类型numeric(10,3),其Precision是10,Scale是3.

Nvarchar(10),其Lenght是10,对于Unicode,不需要CodePage属性。

Varchar(10),其length是10,CodePage是字符集所属的语种。936 —简体中文(GBK),1252 —西欧拉丁字母ISO-8859-1(就是常用的英语)

 

3,数据源组件有输入和输出,输入是External Metadata,输出是数据的Metadata和数据,可以通过Input and Output Properties选项卡查看详细的信息。

OLEDB Source Output是OLEDB数据源组件的的Output 数据流,点击名称会显示Common Properties。

IsSorted属性Indicates whethere the data in the output from the componenet is sorted.

如果OLEDB的输入流已经排过序,即External Data使用sql command的orderby clause,那么可以设置IsSorted属性为true,并在Output Columns中设置SortKeyPosition属性,设置output column在Orderby clause的顺序序号,序号从1开始,依次递增。

例如 OLEDB Source的sql command是

select * 
from dbo.TableName 
order by col_1,col_2,col_3 

这是已经排序的数据流,设置OLEDB Source Output的IsSorted属性为true,并逐个设置Output Columns中的Col_1的SortKeyPosition=1,Col_2的SortKeyPosition=2,Col_3的SortKeyPosition=3。

对于特殊的比较规则,还需要设置Output Columns的ComparisonFlags属性

 

4,External Columns显示的是External columns Metadata

5,Output Columns显示的数据源组件的输出列的Metadata

 

ErrorRowDisposition ,Specifies how the component handles rows with errors.
TruncationRowDisposition,Specifies how the component handles rows with truncations.

这两个Disposition是为了处理数据源中列值得错误而设置的,有三种值,

RD_FailComponent,如果列值出现Error或Truncation,那么数据源组件就失败;

RD_RedirectRow,如果列值出现Error或Truncation,那么将该数据行重定向到ErrorOutput;

RD_IgnoreFailure,忽略列值出现的Error或Truncation

ComparisonFlags 用以指定排序的比较规则,Specifies the comparisons used to sort the column

 

SortKeyPosition Property   Specifies the sort position and the sort direction of a sorted column.

0 表示Column不是Sort Key

负整数 表示column是按倒序排序,对应sql的 desc

正整数 表示column是按升序排序,对应sql的 asc

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值