如何在Power Automate中用动态表名向SQL Server插入行
Power Automate动态指定SQL表名插入数据失败问题
- 手动触发的小型测试Power Flow,接收输入后通过SQL Server连接器的
Insert row (V2)将数据插入SQL Server表,静态选择表名时运行正常。 - 企业环境分为Dev、QA和Prod三个环境,需通过修改Power Automate环境变量让同一条流适配任意环境,因此需要动态更改表名。
- 改用预声明变量(通过动态内容)或表达式指定表名后,
Insert Row (V2)突然要求提供Row ID,且数据项不可用;输入1作为Row ID测试运行时,因缺少数据失败,报错:
A value must be provided for item.
clientRequestId: 7398bd76-75f7-41b1-b23d-8b9279737e4b
- 尝试按照建议,添加
Get Row V2获取表的JSON,并将其粘贴到Insert Row (V2)的Row参数中,但保存流时提示表达式无效;由于ID是IDENTITY列,硬编码1显然不合理。 - 移除
@odata.context和@odata.etag,仅保留列定义,仍报错:
The key didn't match any rows in the table.
inner exception: The key didn't match any rows in the table.
clientRequestId: 0064a03c-81c5-4928-b7fb-bf0f8cdc609a
- 即使修正表命名方式后,运行仍报相同错误;简化测试,将表重建到
[dbo]架构中,移除动态表名直接选择表名时仍报错,甚至重新添加Insert Row步骤后找不到该表(该表在SSMS中可见)。 - 表定义如下:
CREATE TABLE Test1_DEV ( ID INT PRIMARY KEY IDENTITY, DataField nvarchar(255) ) go
已确认服务器和数据库名称正确,且使用的连接在调用存储过程的流中正常工作,请问还遗漏了什么?
内容的提问来源于stack exchange,提问作者FreeMan
相关产品推荐
相关产品推荐

