用SSIS和Visual Studio导出SQL Server数据到Excel文件(下)

日期: 2009-07-05 作者:Jayaram Krishnaswamy翻译:冯昀晖 来源:TechTarget中国 英文

第四步:为SQL Server数据转换组件设置字符映射   字符映射转换组件是在第一章中讲到的,但是在这里我们要体验一下它的转换功能。转换组件处理接收到的文本字符串,输出为转换后的字符串。例如:在上面我们看到的图片中,公司名是大小写混合的,使用转换组件后,我们会在数据写到Excel之前,把出现在公司名这一列的所有字符转换为大写——例如:Alfreds Futterkiste会转换为ALFREDS FUTTERKISTE。   在工具箱的数据流转换组件组里选择字符映射数据流项,把它拖拽到数据流页面的设计画布上。

  在DataReader源组件上点击右键,在右键菜单项中点击添加路径。   在弹出……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

第四步:为SQL Server数据转换组件设置字符映射

  字符映射转换组件是在第一章中讲到的,但是在这里我们要体验一下它的转换功能。转换组件处理接收到的文本字符串,输出为转换后的字符串。例如:在上面我们看到的图片中,公司名是大小写混合的,使用转换组件后,我们会在数据写到Excel之前,把出现在公司名这一列的所有字符转换为大写——例如:Alfreds Futterkiste会转换为ALFREDS FUTTERKISTE。

  在工具箱的数据流转换组件组里选择字符映射数据流项,把它拖拽到数据流页面的设计画布上。

  在DataReader源组件上点击右键,在右键菜单项中点击添加路径。

  在弹出显示的数据流窗口中,选择转换目标为字符映射。如下图所示:

  在上面的窗口中点击确定(OK),此时会显示下面的新窗口。

  在这里你需要指定这个组件的输出项,从下拉列表里选择即可。

  从下拉列表里选择DataReader输出源。

  现在,在本教程中不涉及任务错误处理。选好上面的选项后,点击确定(OK)按钮就生效了。

  在上面的窗口中点击确定(OK)按钮。

  这就建立了从DataReader源到字符映射数据流组件的通道。通道建立好了,但仍然需要进一步配置。

  在字符映射组件上点击右键,在右键菜单中选择编辑。

  此时会弹出如下图所示的字符映射编辑器。选中列公司名前面的复选框。

  如果如上图所示的默认就被选中了,那么输出部分就会多出来一列。我们从下拉列表中选择“In-place change”选项。

  点击上面窗体中目标列下面的新建列单元格。在下拉列表中选择“In-place change”。

  在操作(Operation)下面点击,在出现的下拉列表中选中大写。如下图所示。

  输出别名不用修改,因为它在选中公司名时已经被关联修改了。

  在选择列表中点击确定(OK)按钮,然后点击字符映射转换编辑器中的确定(OK)按钮。

  字符映射配置就完成了。

  第五步:添加Excel目标组件并给字符映射组件创建路径

  在这一步中,我们将添加一个Excel目标组件。然后,我们会建立一个从字符映射组件到Excel目标组件的路径。

  从工具箱的数据流目标组件组选择Excel目标组件,把它添加到数据流页面上。

  可以通过在工具箱中双击该组件或者通过拖拽操作来完成这一步。在字符映射组件上右击,在弹出的邮件菜单中选择添加路径。

  此时会打开一个数据流窗口,在这里你可以建立一个数据流路径,显示“From:”路径为字符映射。

  点击“To:”旁边的下拉列表,会显示Excel目标组件和DataReader源组件。

  选择Excel目标组件,然后点击屏幕上的确定(OK)按钮。

  此时会打开一个输入输出选择窗口,窗口中会显示可用的输出和输入。输出窗口是空的,而输入显示Excel目标输入。路径应该从字符映射到Excel目标输入连接。

  选好上面的选项,然后点击屏幕上的确定(OK)按钮。

  你会看到有一条绿色的线从字符映射数据流组件连向Excel目标组件,如下图所示。建立连接路径的过程也可以被简化,可以通过在数据流页面上从字符映射到Excel目标组件拖拽一条绿箭头完成,与前面的做法一样的效果。如下图所示,你可以通过右击这条绿色箭头线,在右键菜单中选择”编辑……”来编辑路径。

  第六步:配置微软Excel目标组件

  前面步骤中的绿箭头代表了数据传递的路径。Excel目标组件也需要一个连接管理器。

  Excel目标组件连接在连接管理器中定义的链接属性来连接你硬盘上的微软Excel文件。

  在Excel目标组件上右击,在右键菜单中选择编辑。

  此时会弹出Excel目标组件编辑器。Excel需要一个OLEDB连接管理器,如果(你或者其他之前的用户)没有配置连接管理器,下拉列表就是空的。

  点击新建按钮。

  Excel连接管理器窗口如下面的图片显示。这里,你需要使用浏览按钮选择一个Excel文件作为转移数据的目标。包程序运行时,数据会被写到这个目标文件里。

  打开Windows资源管理器,在C盘创建一个Excel文件。在本教程中,我们创建一个名为TableToXls.xls的Excel文件。

  除了连接到一个已经存在的文件,Excel连接管理器还支持在你用浏览按钮选择的本机文件夹创建文件。

  现在就用浏览按钮找到刚刚创建的文件,并选中该文件。

  在Excel连接管理窗口中点击确定(OK)按钮。

  对于数据访问模式这一项,采用默认模式,表或者视图。

  你必须指定要使用的Excel sheet页的名称。(不要点击下拉列表来指定sheet页,下拉列表中会显示新创建Excel文件的三个Excel sheet页,它们都只有一列。)

  点击新建按钮。

  你现在正在创建一个新的Excel sheet页。弹出的创建表格的窗口中显示了即将导入组件的列,如下图所示。

  点击上图中的确定(OK)按钮。

  一个新的名为Excel Destination的Excel sheet也会被添加到TableToXLS.xls文件中。如果你打开检查一下该文件(TableToXLS.xls),你会看到列表的表头都已经添加到该页中了。

  在Excel目标组件编辑器面板左侧点击映射,会在右侧显示从输入到输出的映射。

  这里显示了从字符映射数据流组件导向目标文件的所有列,如下图所示。

  点击该窗口的确定(OK)按钮。现在,包已经完全配置好,可以运行了。

  第七步:测试从SQL Server数据库表向Excel sheet页执行数据转移

  在解决方案浏览器中右击,在右键菜单中点击执行包。

  数据流页面上的三个组件都变成了绿色,这表示包执行成功,没有错误。你可以检查“Canvas”中的进度标签,那里会显示包执行过程的所有细节。

  现在打开TableToXLs.xls文件看看。

  下图中显示了该文件中的几行数据。注意字符映射数据转换组件已经把公司名这一列的所有字符转换为大写了。

  总结

  本章讲述了以下内容:

  · 从SQL Server 2005数据库单个表中提取数据导入Excel文件所使用数据流组件的配置方法。

  · 字符映射数据转换组件的用法。

  选择Excel作为源,SQL Server数据库作为目标可以实现反方向的数据转移。

相关推荐