【问题标题】:How to transform data type in Azure Data Factory如何在 Azure 数据工厂中转换数据类型
【发布时间】:2021-05-25 07:04:02
【问题描述】:

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

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

我做了什么:

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

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

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

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

【问题讨论】:

  • 你能告诉我们删除列的任何数据值吗?
  • 嗨@Wong Benny,如果我的回答对你有帮助,希望你能接受它作为答案(点击答案旁边的复选标记将其从灰色切换为已填充。)。这对其他社区成员可能是有益的。谢谢。

标签: azure-data-factory


【解决方案1】:

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

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

如您所说,删除列数据为 Null 或包含 NULL,ALL 将被视为 String。 关键是你的 Sink SQL Server 表架构是否允许为 NULL

我测试了很多次,一切都很好。

【讨论】:

  • sql server 表中的列 'deleted' 允​​许 NULL 值,但出现此错误:“将列名 'deleted' 的值 'NULL' 从类型 'String' 转换为类型 'DateTime' 时发生异常. 该字符串未被识别为有效的 DateTime。"
  • @WongBenny 你的步骤和我一样吗?
猜你喜欢
  • 1970-01-01
  • 2018-10-29
  • 1970-01-01
  • 1970-01-01
  • 2020-11-08
  • 2021-11-24
  • 2022-01-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多