上一篇我们通过一个示例来介绍一下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 访问接口连接到数据源(数据库连接)
  1. 首先打开上一篇创建名为"SSISDemo"项目.
  2. 在连接管理器窗口中,右击选择New OLE DB Connnection项,将弹出如下窗口:

左边数据连接框显示的连接是我们已创建好的数据库连接。右边数据库连接属性框显示对应的属性信息。你也可以新建一个数据库连接。单击新建按钮,弹出如下对话框

在这对话框中,我们可以根据自己的需要填写相应的内容。本例是以连接本地AdventureWorks数据库。单击确定按钮。则会在连接管理器看到如下信息:

图中LocalHost.AdventureWorks.sa就是我们刚才创建的数据库连接。右击LocalHost.AdventureWorks.sa弹出属性框。可以根据需要修改这些属性。比如将Name属性修改为: AdventureWorks 。 到此一个 简单OLE DB连接方式建立完成。其中的一些属性含义。自己可以在后续的学习中逐步的掌握。

  • FILE连接到文件或文件夹(平面文件连接)

平面文件连接管理器要比OLE DB连接方式要复杂的多。平面文件连接方式主要是连接非数据库类型的文件。下面介绍下如何创建平面文件连接。假如我们有一个名为User.txt文件。数据格式如下:

每行有两列数据。已“Tab”隔开。接下来介绍如何在连接管理器中连接这个文本文件。

  1. 仍然在连接管理器框中右击,选中新建平面文件连接,弹出对话框

在图中可以看到配置平面文件连接管理器需要配置连接管理器名称常规高级、预览这个属性。下面将介绍如何配置这些属性

  • 连接管理器名称:为工作流中的平面文件连接提供唯一的名称。所提供的名称将在连接管理器框中显示。
  • 常规选项卡:使用“平面文件连接管理器编辑器”对话框的“常规”页可以选择文件和数据格式。使用平面文件连接可以将包连接到文本文件。该选项卡中包含以下属性:文件名:键入要在平面文件连接中使用的路径和文件名。 区域设置:在区域设置下拉框中选中指定的区域位置,以便为排序以日期和时间格式提供语言特性的信息。在设计的时候最好选择英语(美国)选项 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“的平面文件管理器。

本节就介绍常用的两个连接管理器。其他的连接管理器可以参考这两个例子自己尝试去建立连接。

SSIS包的组建之连接管理器的更多相关文章

  1. 在SSIS 的 64 位版本中不支持 Excel 连接管理器

    Microsoft sql server 2008 R2——> SQL SERVER Business Intelligence Development Studio 使用EXCEL数据源或目标 ...

  2. 在SSIS 的 64 位版本中不支持 Excel 连接管理器[转]

    Microsoft sql server 2008 R2——> SQL SERVER Business Intelligence Development Studio 使用EXCEL数据源或目标 ...

  3. SOFA 源码分析 — 连接管理器

    前言 RPC 框架需要维护客户端和服务端的连接,通常是一个客户端对应多个服务端,而客户端看到的是接口,并不是服务端的地址,服务端地址对于客户端来讲是透明的. 那么,如何实现这样一个 RPC 框架的网络 ...

  4. httpclient 连接管理器

    连接操作器 连接操作是客户端的底层套接字或可以通过外部实体,通常称为连接操作的被操作的状态的连接. OperatedClientConnection接口扩展了HttpClientConnection接 ...

  5. openfire研究之部署连接管理器(connection manager)

    http://blog.sina.com.cn/s/blog_7325f5150101bafh.html 一. Openfire Connection Manager 简介 Openfire Conn ...

  6. SSIS包的开发

    在上一章节中我们初步了解了SSIS体系结构以及如何创建一个SSIS包.现在就介绍一下如何在创建的包中使用各个选项卡.打开上一章节创建的SSIS包.整个界面风格如下: 在整个包中包含了控制流选项卡.数据 ...

  7. 如何在 ETL 项目中统一管理上百个 SSIS 包的日志和包配置框架

    一直准备写这么一篇有关 SSIS 日志系统的文章,但是发现很难一次写的很完整.因为这篇文章的内容可扩展的性太强,每多扩展一部分就意味着需要更多代码,示例和理论支撑.因此,我选择我觉得比较通用的 LOG ...

  8. c#控制台調用SSIS包互传值

    有时候不仅仅需要在内部执行package包,多数情况下,是需要在外部进行调用,比如,需要一个批处理或者控制台程序进行外部调用SSIS包,而往往这个包所配置的连接字符串是经过加密处理的,所以当外部调用S ...

  9. 变量在SSIS包中的使用

    2010~2011年经常使用SSIS包采集加工数据,后来换了工作就很少使用.最近又开始用那玩意采集数据,努力回想之前是怎样操作的,网上各种找各种纠结.趁这次使用记录下日常操作步骤,以备以后不时之需. ...

随机推荐

  1. Retrofit2.2说明-简单使用

    很久前就想学习下Retrofit了,不过总是没有时间,正好最近新项目要用到网络请求,正好研究了下Retrofit2.2的简单使用方法,大致记录如下: Retrofit与okhttp共同出自于Squar ...

  2. Oracle学习笔记—数据字典和常用命令(转载)

    转载自: oracle常用数据字典和SQL语句总结 Oracle常用命令大全(很有用,做笔记) 一.Oracle数据字典 数据字典是Oracle存放有关数据库信息的地方,其用途是用来描述数据的.比如一 ...

  3. 判断IP地址是否合法

    /* return 1 if string contain only digits, else return 0 */ int valid_digit(char *ip_str) { while (* ...

  4. 如何用云存储和CDN加速网站图片视频、阿里云OSS的使用(转)

    总有人说阿里云主机带宽小,那只是因为你还停留在单机架构上. 阿里的架构设计,云主机主要用来跑程序的,附件的存储和访问主要靠OSS. 有人又会说了,OSS按存储费+流量双重计费伤不起,只是你不知道OSS ...

  5. WCF 远程服务器返回了意外响应: (400) Bad Request。

    WCF 端  <system.web> <httpRuntime maxRequestLength="2147483647" /> </system. ...

  6. LeetCode-11-7

    1.Reverse String Write a function that takes a string as input and returns the string reversed. Exam ...

  7. c#读取xml操作

    1/定义一个XmlDocument对象xDoc 2/通过XmlDocument来load需要读取的xml文件 3/通过XmlDocument的SelectSingleNode来找到节点,并把节点转换为 ...

  8. asp.net 文件上传

    前台js <script type="text/javascript"> window.onload = function () { document.getEleme ...

  9. centos6.8 修改yum安装镜像源

    查看centos系统版本 cat /etc/redhat-release CentOS系统更换软件安装源 第一步:备份你的原镜像文件,以免出错后可以恢复. mv /etc/yum.repos.d/Ce ...

  10. Array排序方法sort()中的大坑

    sort() 方法用于对数组的元素进行排序. 但是排序结果就有点坑了,都不按常规出牌的: // 看上去正常的结果: ['Google', 'Apple', 'Microsoft'].sort(); / ...