上一篇我们通过一个示例来介绍一下SSIS 包的开发.接下来的内容我们将学习一下包中各个选项卡的使用.如:连接管理器选项卡、控制流选项卡、数据流选项卡和事件处理选项卡等等。这一篇将介绍一下连接管理器作用以及使用情况。
连接管理器的作用是连接到不同类型的数据源以提取和加载数据。任何包的开发都需要提供源数据。
下表列出了 SQL ServerIntegration Services 提供的连接管理器类型。
类型 |
说明 |
ADO |
连接到 ActiveX 数据对象 (ADO) 对象。 |
ADO.NET |
使用 .NET 提供程序连接到数据源。 |
CACHE |
从数据流或从缓存文件 (.caw) 中读取数据,并可将数据保存到缓存文件。 |
EXCEL |
连接到 Excel 工作簿文件。 |
FILE |
连接到文件或文件夹。 |
FLATFILE |
连接到单个平面文件中的数据。 |
FTP |
连接到 FTP 服务器。 |
HTTP |
连接到 Web 服务器。 |
MSMQ |
连接到消息队列。 |
MSOLAP100 |
连接到 SQL ServerAnalysis Services 实例或 Analysis Services 项目。 |
MULTIFILE |
连接到多个文件和文件夹。 |
MULTIFLATFILE |
连接到多个数据文件和文件夹。 |
OLEDB |
使用 OLE DB 访问接口连接到数据源。 |
ODBC |
使用 ODBC 连接到数据源。 |
SMOServer |
连接到 SQL Server 管理对象 (SMO) 服务器。 |
SMTP |
连接到 SMTP 邮件服务器。 |
SQLMOBILE |
连接到 SQL Server Compact 数据库。 |
WMI |
连接到服务器,并指定服务器上 Windows Management Instrumentation (WMI) 管理的范围。 |
下面就简单的介绍一下我们常用的使用连接管理器类型。
- OLE DB 访问接口连接到数据源(数据库连接)
- 首先打开上一篇创建名为"SSISDemo"项目.
- 在连接管理器窗口中,右击选择New OLE DB Connnection项,将弹出如下窗口:
左边数据连接框显示的连接是我们已创建好的数据库连接。右边数据库连接属性框显示对应的属性信息。你也可以新建一个数据库连接。单击新建按钮,弹出如下对话框
在这对话框中,我们可以根据自己的需要填写相应的内容。本例是以连接本地AdventureWorks数据库。单击确定按钮。则会在连接管理器看到如下信息:
图中LocalHost.AdventureWorks.sa就是我们刚才创建的数据库连接。右击LocalHost.AdventureWorks.sa弹出属性框。可以根据需要修改这些属性。比如将Name属性修改为: AdventureWorks 。 到此一个 简单OLE DB连接方式建立完成。其中的一些属性含义。自己可以在后续的学习中逐步的掌握。
- FILE连接到文件或文件夹(平面文件连接)
平面文件连接管理器要比OLE DB连接方式要复杂的多。平面文件连接方式主要是连接非数据库类型的文件。下面介绍下如何创建平面文件连接。假如我们有一个名为User.txt文件。数据格式如下:
每行有两列数据。已“Tab”隔开。接下来介绍如何在连接管理器中连接这个文本文件。
- 仍然在连接管理器框中右击,选中新建平面文件连接,弹出对话框
在图中可以看到配置平面文件连接管理器需要配置连接管理器名称、常规、列、高级、预览这个属性。下面将介绍如何配置这些属性
- 连接管理器名称:为工作流中的平面文件连接提供唯一的名称。所提供的名称将在连接管理器框中显示。
- 常规选项卡:使用“平面文件连接管理器编辑器”对话框的“常规”页可以选择文件和数据格式。使用平面文件连接可以将包连接到文本文件。该选项卡中包含以下属性:文件名:键入要在平面文件连接中使用的路径和文件名。 区域设置:在区域设置下拉框中选中指定的区域位置,以便为排序以日期和时间格式提供语言特性的信息。在设计的时候最好选择英语(美国)选项 Unicode复选框:指示是否使用Unicode。如果使用Unicode则不能指定代码页。 代码页:在代码页中选中指定非Unicode文本的代码页。设计时最好选择1252(ANSI-拉丁语I)格式:在格式下拉框中选中文本的格式
属性 | 说明 |
带分隔符 | 各列之间由在“列”页上指定的分隔符隔开 |
固定宽度 | 列的宽度固定 |
右边未对齐 | 在右边未对齐的文本中,除最后一列之外的每一列的宽度都相同。它有行分割符分割 |
文本限定符:指定要使用的文本限定符。例如,可以指定文本字段必须用引号括起来。若选择文本限定符之后,就不能重新选择"无"选项,键入None以取消选择文本限定 符。 标题行分隔符:从标题行的分隔符列表中选择,或输入分隔符文本。
值 |
说明 |
{CR}{LF} |
标题行由回车符和换行符的组合分隔。 |
{CR} |
标题行由回车符分隔。 |
{LF} |
标题行由换行符分隔。 |
分号 {;} |
标题行由分号分隔。 |
冒号 {:} |
标题行由冒号分隔。 |
逗号 {,} |
标题行由逗号分隔。 |
制表符 {t} |
标题行由制表符分隔。 |
竖线 {|} |
标题行由竖线分隔。 |
要跳过的标题行数:指定要跳过的标题行数或初始数据行数(如果有的话)。 在第一个数据行中显示列名称:指示在第一个数据行中是否要求列名或提供列名。
根据常规选项卡中的这些属性以后,我们就可以根据需求设定文本显示的格式。如下图
- 列选项卡:使用”平面文件连接管理器编辑器”对话框中的”列”选项卡可以在这里设置行和列的信息。并预览相应的文件。如下图:
包含如下属性
行和列分隔符:此属性和常规选项卡中的标题行分隔符一样。可以根据需求设置行和列的显示方式。 预览: 查看平面文件中的示例数据,这些数据已按所选的选项划分为列和行.如上图。 刷新:通过单击“刷新”查看更改要跳过的分隔符后的效果。只有在更改行或列选项之后,此按钮才可见。 重置列:通过单击“重置列”可以删除除原始列之外的所有列。 只有调转到其他选项卡后,然后再回到“列”选项卡,此按钮才可见。
本示例我们在列分隔符选项中选择制表符(t),然后单击刷新按钮。
- 高级选项卡:使用“平面文件连接管理器编辑器”对话框的“高级”页,设置指定 Integration Services 如何读写平面文件中的数据的属性。可以更改平面文件中各个列的名称,并设置包括文件中每个列的数据类型和分隔符在内的属性。默认情况下,字符串列的长度为 50 个字符。可以调整这些列的长度,以免数据截断或超出列宽。还可以更新其他元数据以便与目标列兼容。例如,可以将只包含整型数据的列的数据类型更改为数值数据类型,例如 DT_I2。可以手动进行这些修改,也可以单击“选择类型”按钮,以使用“提供列类型建议”对话框来评估示例数据并自动进行其中一些更改。在高级选项卡中我们可以做如下工做:
配置各列的属性:选择左窗格中的列可在右窗格中查看列的属性。请参阅下表以了解数据类型属性的说明。列出的部分属性仅对某些平面文件格式是可配置的。
属性 |
说明 |
ColumnType |
表示列是由分隔符分隔、还是固定宽度,或是右边未对齐。此属性是只读的。在右边未对齐的文件中,除最后一列之外的每一列的宽度都固定。它由行分隔符分隔。 |
OutputColumnWidth |
指定值存储为字节数;对于 Unicode 文件,此值对应于字符数。在数据流任务中,此值用于设置平面文件源的输出列宽。 注意 在对象模型中,此属性的名称为 MaximumWidth。 |
DataType |
从可用数据类型的列表中进行选择。 |
TextQualified |
指示文本数据周围是否有文本限定符(例如引号字符)。 值说明 True平面文件中的文本数据是受限定的。 False平面文件中的文本数据是不受限定的。 |
Name |
提供说明性列名。如果不输入名称,则 Integration Services 将自动创建名称,格式为“列 0”、“列 1”,依此类推。 |
DataScale |
指定数字数据的小数位数。小数位数是指小数点后的位数。 |
ColumnDelimiter |
从可用列分隔符的列表中进行选择。选择不可能出现在文本中的分隔符。对于固定宽度的列,将忽略此值。 值说明 {CR}{LF}列由回车符和换行符的组合分隔。 {CR}列由回车符分隔。 {LF}列由换行符分隔。 分号 {;}列由分号分隔。 冒号 {:}列由冒号分隔。 逗号 {,}列由逗号分隔。 制表符 {t}列由制表符分隔。 竖线 {|}列由竖线分隔。 |
DataPrecision |
指定数字数据的精度。精度是指数字的位数。 |
InputColumnWidth |
指定值以字节数进行存储;对于 Unicode 文件,该值将显示为字符数。对于分隔列,将忽略此值。 注意 在对象模型中,此属性的名称为 ColumnWidth。 |
新建:通过单击“新建”添加一个新列。默认情况下,单击“新建”按钮将会在列表末尾添加新列。该按钮还包括以下选项,可以在下拉列表中选择。
值 |
说明 |
添加列 |
在列表末尾添加新列。 |
在其前插入 |
在所选列前面插入新列。 |
在其后插入 |
在所选列后面插入新列。 |
删除:选择一列,然后单击“删除”来删除该列。
建议类型:使用“提供列类型建议”对话框可以计算文件中的示例数据,并获取关于每列的数据类型和长度的建议。
充分了解高级选项卡的属性后,我们将列0的Name和DataTye 属性改为CustomerID和DT_I8类型。将列1的Name和DataTye 属性改为SKUList和DT_STR类型,并将OutColumnWidth属性修改为1000。
- 浏览选项卡:单击浏览选项卡,可以看到如下图显示的数据
只要前三个选项卡配置成功后,预览一下数据显示格式就可以了。最后单击确定按钮。平面文件连接管理器就建立成功。最终在连接管理器框中显示刚才创建名为“Userout.txt“的平面文件管理器。
本节就介绍常用的两个连接管理器。其他的连接管理器可以参考这两个例子自己尝试去建立连接。