从 ADF Pipeline 运行 UPDATE SQL 返回“读取操作期间无法执行查询命令”。错误

问题描述 投票:0回答:1

我有一个具有多个不同阶段的管道,我想做的一件事是在某些点更新 Snowflake 上的表以跟踪管道已达到的位置。

当我尝试运行这个简单的管道时,出现以下错误:

该过程正在执行的操作是从文件中查找一些标头数据,将其存储在变量中,然后尝试使用特定标头列中的标头值更新我们的起始表:

失败的脚本是一个简单的更新:

@concat('update schema.loadcontrol
set fileheader = ',string(variables('RawHeader')),
'where loadnumber = ',variables('LoadNumber'))

如果我删除 RawHeader 变量并将其设置为一个设置值(例如 12345),即使 LoadNumber 也是一个变量,它也可以正常工作。

有谁知道为什么它可能不喜欢 RawHeader 变量,它只是一个标准的 25 个字符的字符串?

它在 Snowflake 上插入的表是 varchar(50),因此有足够的空间。

snowflake-cloud-data-platform azure-data-factory
1个回答
0
投票

不知道这是否会带来答案,但当然希望如此。有几件事对我来说很突出:

  • 在“读操作”期间不能“更新”(或者说:写)似乎很合乎逻辑——这就是它所说的,听起来有点有趣。但正如你所说,只需在那里输入一个数字即可,你不妨跳过此评论。
  • 接下来,您的 sql 命令字符串的格式似乎有点不对劲。这可以解释为什么整数有效而文字无效。是否可能是您缺少一些引号来在您似乎想要的地方提供字面值?

很想知道它是否有帮助!

© www.soinside.com 2019 - 2024. All rights reserved.