Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Azure DF-将日期时间从数据库提取到CSV时,有时会将其解释为datetime2_Azure_Azure Data Factory_Azure Data Factory 2_Azure Sql Data Warehouse_Azure Synapse - Fatal编程技术网

Azure DF-将日期时间从数据库提取到CSV时,有时会将其解释为datetime2

Azure DF-将日期时间从数据库提取到CSV时,有时会将其解释为datetime2,azure,azure-data-factory,azure-data-factory-2,azure-sql-data-warehouse,azure-synapse,Azure,Azure Data Factory,Azure Data Factory 2,Azure Sql Data Warehouse,Azure Synapse,当运行Azure Data Factory从CSV复制到Synapse表时,会出现间歇性截断错误。目标表模式(在Synapse中)是我们最初从中提取数据的模式的镜像 我们发现,原始摘录错误地将datetime解释为datetime2,并将相关字段呈现为:2019-10-07 11:22:31.4400000 当我们运行从Azure Data Lake Storage Gen2到镜像Synapse表的拷贝时,此模式将字段作为datetime。 复制函数尝试将字符串(CSV和all)转换为日期时间(

当运行Azure Data Factory从CSV复制到Synapse表时,会出现间歇性截断错误。目标表模式(在Synapse中)是我们最初从中提取数据的模式的镜像

我们发现,原始摘录错误地将datetime解释为datetime2,并将相关字段呈现为:2019-10-07 11:22:31.4400000 当我们运行从Azure Data Lake Storage Gen2到镜像Synapse表的拷贝时,此模式将字段作为datetime。 复制函数尝试将字符串(CSV和all)转换为日期时间(与原始表相同),但失败。(错误:从字符串转换日期和/或时间时转换失败。) 有趣的是,这个问题是间歇性的-原始日期时间字段有时会正确地呈现到CSV中,如:2019-10-07 11:22:31.440(见图)

我们对将所有SQL Db模式重构为datetime2数据类型的愿望有限(原因很明显)。
有人知道我们是否遗漏了什么吗?

尝试将源映射更改为Datetime:

  • 指定日期格式“yyy-MM-dd”
  • 铺设管道
或者:

  • 将日期格式的映射更改为字符串
  • 使用存储过程方法插入/复制数据

尝试更改源到日期时间的映射:

  • 指定日期格式“yyy-MM-dd”
  • 铺设管道
或者:

  • 将日期格式的映射更改为字符串
  • 使用存储过程方法插入/复制数据

您的最佳选择可能是使用数据流和派生列来纠正错误的字符串格式。这是不可能的,因为我们的管道会遍历一组表,而且我们事先不知道模式。此外,这将(很可能)严重减缓这一进程。我们正在进行批量复制。你说u原始摘录错误地将datetime解释为datetime2 u所以听起来问题实际上与原始摘录过程有关?您还说这个问题是间歇性的-原始的datetime字段有时会正确地呈现到CSV中,因此要解决这个问题,您需要解决将其呈现到CSV的任何问题。您最好的选择可能是使用数据流和派生列来更正错误的字符串格式。由于管道不断迭代,这是不可能的通过一堆表,我们事先不知道模式。此外,这将(很可能)严重减缓这一进程。我们正在进行批量复制。你说u原始摘录错误地将datetime解释为datetime2 u所以听起来问题实际上与原始摘录过程有关?您还说这个问题是间歇性的-原始日期时间字段有时会正确地呈现到CSV中,因此要解决这个问题,您需要解决将其呈现到CSV中的任何问题