Azure数据工厂复制活动异常日期时间

Azure数据工厂复制活动异常日期时间,azure,azure-data-factory,Azure,Azure Data Factory,我正在尝试将数据从azure blob移动到azure sql数据仓库。Azure blob有一个json文件 将createdate移动到sql上的datetime类型列时出现异常。 { “createdDate”:“2016-07-13 15:24:58.000” } 复制活动在遇到用户错误 接收器:tcp:database.windows.net,1433端: ErrorCode=UserErrorInvalidDataValue,'Type=Microsoft.DataTransfer.

我正在尝试将数据从azure blob移动到azure sql数据仓库。Azure blob有一个json文件

将createdate移动到sql上的datetime类型列时出现异常。
{ “createdDate”:“2016-07-13 15:24:58.000” }

复制活动在遇到用户错误 接收器:tcp:database.windows.net,1433端: ErrorCode=UserErrorInvalidDataValue,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=Column “createdDate”包含无效值“2016-07-13 15:24:58.000”。 无法使用将“2016-07-13 15:24:58.000”转换为类型“DateTime” 格式“yyyy-MM-dd” HH:mm:ss.fffffff',Source=Microsoft.DataTransfer.Common,''Type=System.FormatException,Message=String 未识别为有效的日期时间,Source=mscorlib,'


欢迎使用任何指针。

blob数据缺少精度。看起来目标数据库中的列具有DATETIME2(7)设置,而源正在输出DATETIME2(3)。你要么

  • 修复源数据以符合要求
  • 通过插入的存储过程对数据进行按摩
  • 如果可能,将目标列更改为DATETIME2(3)

  • 。。。理论上当然 您应该尝试此方法以解决问题。 这是一个对我来说是个拦路虎的把戏,但是试试这个-

  • 沉下去
  • 映射
  • 单击输出格式
  • 选择要将数据存储到接收器中的数据格式或时间格式。 对于数据格式,选择“日期”,对于时间,选择“时间”。您也可以选择布尔值true或false。

  • 嘿,我明白了,我认为当目的地是Azure SQL数据仓库时,它需要严格映射到列以及在源和目的地定义的结构。源数据集:-{“CreatedDate”:String}DestinationDataset:-{“CreateDate”:-Datetime}在活动中,我放置了一个表转换器{columnMapping=CreatedDate:CreatedDate},这对我来说是个好办法。老问题,但面临类似的问题。你能解释一下你是如何在复制活动中使用表格翻译的吗?我在谷歌上搜索了与Azure data factory相关的术语表转换器,但没有找到任何内容,我也没有在列表中找到任何内容UI@JamesMatson也许已经太迟了,但你是说“表格翻译器”吗?列映射是在哪里定义的?在UI中,当选择CopyActivity时,它位于Mapping选项卡中,要做到这一点,您必须导入源模式和接收器模式,并映射所需内容,如果打开代码{},您将看到这些JSON对象(translator),谢谢!我已经有一段时间没有再讨论这个了(你知道它是什么样子的,其他的东西也会出现),但是当我回到Azure DF中玩的时候,我会检查这个并让你知道。感谢您花时间发表评论:)从谷歌登陆这里,为未来的谷歌用户发表评论。当将日期时间列从CSV文件复制到SQL数据仓库中时,数据工厂一直告诉我“无效列映射”。在我的例子中,问题是数据工厂数据类型是区分大小写的。它不喜欢在某些列类型中使用“datetime”或“datetime”而不是“datetime”。