OleDb Source component 用法

时间:2022-01-27 19:22:31

OleDb Source component 主要是从DB中获取数据,传递给下游组件,OleDb Source component的强大之处在于 query data 的mode有四种,如图

OleDb Source component 用法

Table or View:直接传递table或view

Table name or view name variable : 将一个table或view的name存放在package的一个variable中

Sql command:输入sql command,并可以使用参数,在sql command中参数以 ? 代表

sql command from variable:将sql command 保存在package的一个variable中

这四种 Data Access Mode 中,各有各自的用途:

1,table or view

  最简单的一种方式,直接获取整个table或view的数据,但是可以在Columns中只select 部分列,这样能减少传递到下游组件的数据量,四种Data Access Mode都可以部分传递数据列。

OleDb Source component 用法

2,table name or view name from variable

  这种mode是将table name或view name存放在package的variable中,可以在package中动态改变variable的值,vision是美好的,但是由于 DataSource 决定了Columns的结构,所以,在package中动态改变variable的值,从不同的datasource中query 数据,必须保证 columns的结构是相同的,否则package fail in running

OleDb Source component 用法

OleDb Source component 用法

3,sql command

  这种mode有很大的灵活性和适用性,原因是sql command mode能够使用parameter,这是多么激动人心的设计。

参数通过 Parameters来指定,可以把传递给sql command的参数存储在一个package variable中,在package中动态修改 package variable的值,来query不同的data。

示例:参数并不是使用@VariableName,而是使用一个?,这是OLEDB Source的特殊之处,每一个?都代表一个parameter,由于 ?在Sql Command出现的顺序是固定的,因此可以通过序号0,1,2(序号从0开始)来定位到每一个参数。

在Parameters中 map 参数 ?的序号 和 package variable,进而将package variable的值传递给sql command。

OleDb Source component 用法

OleDb Source component 用法

OleDb Source component 用法

4,sql command from variable

  这种mode是将sql command存储在package variable,不能使用parameter