Azure LogicApp 无法从 SQL 服务器获取 rowid
Azure LogicApp cannot get rowid from SQL Server
我有一个连接到 Azure 中的 SQL 服务器数据库的 Azure logicapp。 table 有一个 uniqueidentifier
列作为主键。在逻辑应用程序中,删除或更新需要 rowid
才能执行更新,主键在这里不起作用并在 运行 时抛出错误,指出 table 没有一个主键。它确实如此,并且在它知道主键约束的逻辑应用程序中两次插入行时得到额外确认,它是唯一的。
如果我 Get Rows
并按主键列进行过滤,生成的数组会列出找到的每个项目(显然是那个),但不会将 rowid 作为动态表达式提供。
如何真正获得rowid?是否可以仅使用主键更新行?
更新:
uuid
在 logicapp 外部生成并作为字符串传递给它。
需要注意的是,插入效果很好。
此处 logicapp 需要一个 rowid 说明符,但使用 uuid
失败。我想我可以改为通过 uuid 过滤所有行并更新它们,作为解决方法,但我无法获得 rowid
。另一个人有类似的问题(),如果不编辑源代码就无法得到rowid
;然而,这种在代码的正文部分添加 rowid 的方法似乎不再有效,因为结果为空。
我在使用 uuid 时 update
或 delete
期间收到的 logicapp 错误是:
{
"status": 400,
"message": "Execution Failure\r\n inner exception: The specified table has no primary key. Update and delete operations are not supported.\r\nclientRequestId: 555",
"source": "sql-555.p.azurewebsites.net"
}
话虽如此,insert
没问题,我通过的 uuid
被放入了 table。
插入结果:
如果主键上有默认列(如 NEWID()),请将其删除。
直接在您的逻辑应用程序中生成唯一标识符,然后将其像任何其他列一样插入到 Azure SQL 数据库中的 table 中。如果这样做,您就已经拥有稍后可以在同一应用代码中使用的 GUID 值。
如果这不是问题所在,我认为您需要给我们一些代码供我们阅读,以便我们提供更多帮助。
我想通了,我实际上删除了整个logicapp并重建了它,现在它识别出uuid列是一个PK。我相信当应用程序首次连接到 SQL 时,它会存储模式并且之后再也不会更新。我已经重建了几次连接,但唯一让它更新的是重建逻辑应用程序本身。我有点相信这是一个错误,所以我离开这里作为一个答案,以防将来有人遇到这个问题
您可以按 "Refresh"(编辑逻辑应用时 "Edit" 按钮旁边),而不是从头开始重建逻辑应用。为我工作
我遇到了类似的问题,但是将列(在 Rowid 中传递的值)设置为数据库中的主键 table 修复了更新行执行错误。可以将要更新的列添加为具有相应值的参数。谢谢!
我有一个连接到 Azure 中的 SQL 服务器数据库的 Azure logicapp。 table 有一个 uniqueidentifier
列作为主键。在逻辑应用程序中,删除或更新需要 rowid
才能执行更新,主键在这里不起作用并在 运行 时抛出错误,指出 table 没有一个主键。它确实如此,并且在它知道主键约束的逻辑应用程序中两次插入行时得到额外确认,它是唯一的。
如果我 Get Rows
并按主键列进行过滤,生成的数组会列出找到的每个项目(显然是那个),但不会将 rowid 作为动态表达式提供。
如何真正获得rowid?是否可以仅使用主键更新行?
更新:
uuid
在 logicapp 外部生成并作为字符串传递给它。
需要注意的是,插入效果很好。
此处 logicapp 需要一个 rowid 说明符,但使用 uuid
失败。我想我可以改为通过 uuid 过滤所有行并更新它们,作为解决方法,但我无法获得 rowid
。另一个人有类似的问题(),如果不编辑源代码就无法得到rowid
;然而,这种在代码的正文部分添加 rowid 的方法似乎不再有效,因为结果为空。
update
或 delete
期间收到的 logicapp 错误是:
{
"status": 400,
"message": "Execution Failure\r\n inner exception: The specified table has no primary key. Update and delete operations are not supported.\r\nclientRequestId: 555",
"source": "sql-555.p.azurewebsites.net"
}
话虽如此,insert
没问题,我通过的 uuid
被放入了 table。
插入结果:
如果主键上有默认列(如 NEWID()),请将其删除。
直接在您的逻辑应用程序中生成唯一标识符,然后将其像任何其他列一样插入到 Azure SQL 数据库中的 table 中。如果这样做,您就已经拥有稍后可以在同一应用代码中使用的 GUID 值。
如果这不是问题所在,我认为您需要给我们一些代码供我们阅读,以便我们提供更多帮助。
我想通了,我实际上删除了整个logicapp并重建了它,现在它识别出uuid列是一个PK。我相信当应用程序首次连接到 SQL 时,它会存储模式并且之后再也不会更新。我已经重建了几次连接,但唯一让它更新的是重建逻辑应用程序本身。我有点相信这是一个错误,所以我离开这里作为一个答案,以防将来有人遇到这个问题
您可以按 "Refresh"(编辑逻辑应用时 "Edit" 按钮旁边),而不是从头开始重建逻辑应用。为我工作
我遇到了类似的问题,但是将列(在 Rowid 中传递的值)设置为数据库中的主键 table 修复了更新行执行错误。可以将要更新的列添加为具有相应值的参数。谢谢!