首页 > 解决方案 > 如何在 Azure 数据工厂中转换数据类型

问题描述

我想将本地 csv 文件中的数据复制到 Azure 数据工厂中的 sql server。sql server 中的表已经创建。本地 csv 文件是从 mysql 导出的。

当我在 Azure 数据工厂中使用复制数据时,出现错误“将列名“已删除”的值“NULL”从“字符串”类型转换为“日期时间”类型时出现错误。该字符串未被识别为有效的日期时间。

我做了什么:

  1. 我检查了列名“已删除”的原始值是 NULL,没有引号(即不是“NULL”)。

在此处输入图像描述

  1. 我无法在文件格式设置期间更改数据类型。所有列的数据类型默认预设为字符串。

在此处输入图像描述 在此处输入图像描述

  1. 我试图创建数据流而不是复制数据。我可以从源投影更改数据类型。但是 sink 数据集不能选择 sql server。

如何通过 Azure 数据工厂将数据从 CSV 文件复制到 sql server?

标签: azure-data-factory

解决方案


数据流不支持本地 SQL。我们无法创建源和汇。

您可以使用复制活动或复制数据工具来执行此操作。我做了一个删除为NULL的示例数据: 在此处输入图像描述 在此处输入图像描述

如您所说,删除列数据为 Null 或包含 NULL,并且 ALL 将被视为字符串。关键是您的 Sink SQL Server 表架构是否允许 NULL在此处输入图像描述

我测试了很多次,一切都很好。 在此处输入图像描述


推荐阅读