gpt4 book ai didi

azure - ADF数据流: invalid column name

转载 作者:行者123 更新时间:2023-12-02 07:05:24 26 4
gpt4 key购买 nike

我想创建一个简单的 Azure 数据工厂流程,从 Blob 存储中读取文件 (csv),并使用数据流将其写入 Azure SQL 数据库。

源数据集有一列名称为“myTime”,类型为“string”。

我添加了一个“派生列”来添加一个名为“customTime”且表达式为“currentTimestamp()”的新列

最后,在 sql 接收器中,我将“customTime”映射到数据库上的 DateTime 字段。

enter image description here

如果我预览数据流中的数据,一切看起来都很好,我可以看到两个字段(myTime、customTime)。当我调试管道时,出现以下异常:

Activity myActivity failed: DF-SYS-01 at Sink 'sqlsink': java.sql.BatchUpdateException: Invalid column name 'myTime'

知道为什么 sql 接收器链接到“myTime”而不是“customTime”吗?我没有看到任何对“myTime”的引用,除了它是输入架构的一部分。

非常感谢您并致以最诚挚的问候迈克尔

最佳答案

此错误是由列映射引起的。您创建新列“customTime”,但在表中列名称为“myTime”。

我发现csv文件的列名和模式必须与Sink表相同,否则在调试时会出错,这是我的错误消息:

enter image description here

Solution 1:: choose the "Recreate table" in Sink settings. But this will change your table schema: myTime to customTime.

enter image description here

Solution 2: Add the same column name with Sink table in Derived Column's Settings.

enter image description here

我使用相同的操作进行了测试,并且成功了。

我从 Blob 存储中读取文件 (csv),并使用数据流将其写入我的 Azure SQL 数据库。我创建了一个具有相同架构的 Sink 表。

这是我的 csv 文件:

enter image description here

我的数据流: enter image description here

第 1 步:来源设置: enter image description here

第 2 步:派生列的设置 enter image description here

第 3 步:水槽设置: enter image description here

运行成功: enter image description here

enter image description here

希望这有帮助。

关于azure - ADF数据流: invalid column name,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56931207/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com