SQL Server Integration Services (SSIS) 的数据转换

一则或许对你有用的小广告

欢迎加入小哈的星球 ,你将获得:专属的项目实战 / 1v1 提问 / Java 学习路线 / 学习打卡 / 每月赠书 / 社群讨论

  • 新项目:《从零手撸:仿小红书(微服务架构)》 正在持续爆肝中,基于 Spring Cloud Alibaba + Spring Boot 3.x + JDK 17...点击查看项目介绍 ;
  • 《从零手撸:前后端分离博客项目(全栈开发)》 2 期已完结,演示链接: http://116.62.199.48/ ;

截止目前, 星球 内专栏累计输出 63w+ 字,讲解图 2808+ 张,还在持续爆肝中.. 后续还会上新更多项目,目标是将 Java 领域典型的项目都整一波,如秒杀系统, 在线商城, IM 即时通讯,权限管理,Spring Cloud Alibaba 微服务等等,已有 2200+ 小伙伴加入学习 ,欢迎点击围观

SSIS (SQL Server Integration Services) 系列循序渐进的课程 中,这是第六部分,我们将在其中学习一个新控件: 数据转换。 我确信仅通过名称就可以清楚地知道,当我们需要对输入列进行数据类型转换时,将使用此控件。这与我们编程中的 CONVERT 或 CAST 完全相同。

然而,在这种情况下,知道 SSIS 也有类似于其他编程或数据库数据类型的数据类型是很重要的。

正如 DT_NUMERIC 相当于numeric数据类型, DT_I2 相当于smallint, DT_str 相当于VARCHAR等等。

我相信您会发现这个控件相当简单,所以不要再浪费时间了,让我们一步步开始吧。

为了进行更改,我正在使用 excel 数据源。

假设我们有一个 excel 销售订单表 ,其中包含 销售订单、小计、税额和运费等列:

在这里,销售订单是 varchar,而 SubTotal、Tax amount 和 Freight 是带小数点后四位的数字。我们想要将数字字段转换为整数,并将结果保存在一个平面文件中。让我们开始吧。

步骤1

拖放 数据流任务控件 并双击它。现在从 SSIS 工具栏添加一个 excel 数据源,如下图所示。

第2步

现在,下一步是配置此 excel 源。为此,只需右键单击并使用“编辑”选项。您将看到一个屏幕,您需要在其中提供我们要访问的文件。

一旦与 excel 建立连接 ,下一个非常重要的步骤就是配置工作表,如下图突出显示。 请记住:您需要配置此工作表,因为 Excel 工作表可能有可用的工作表数量,因此您只需要分配要处理其数据的工作表。

步骤 3

配置工作表后,您还可以通过单击列的选项来选择要处理或希望在目标中的列,如下图所示。

步骤4

现在从 SSIS 工具栏拖放数据转换控件

步骤 5

现在,打开上下文菜单并单击编辑按钮以配置数据转换。现在记住:这里我们必须将数据从数字更改为整数(如前所述)。因此,只需更改所需的数据类型,即 integer (DT_I4) 。另外,这里要记住的一点是,当您进行数据类型转换时,您还需要注意别名。您将 在列上看到作为前缀的副本。

步骤 6

现在,我们需要在平面文件中输出此文件,因此您可以通过从 SSIS 工具箱添加文件目标控件并通过单击编辑按钮对其进行配置来实现,如下图所示。

步骤 7

在下一步中,我们必须在平面文件中配置我们需要的文件位置和列,并删除不需要的任何不必要的列。

步骤 8

完成上述步骤后,我们就可以开始运行这个包了。所以,屏住呼吸几秒钟(开玩笑!)然后按 F5。

您将看到下面的屏幕,显示所有提供的行都已插入文件中。

步骤 9

要交叉检查文件是否有整数列,让我们打开它。

如果你看到上面的屏幕,那么你就成功了。所以我们达到了这篇文章的目的,并成功使用了 DATA转换 控件。

我希望你觉得这篇文章有用。

感谢您阅读这篇文章。

相关文章