Azure 逻辑应用程序 - Oracle 连接器 - 执行查询

Azure Logic Apps - Oracle Connector - Execute a query

我正在研究 Azure 逻辑应用程序集成,它将数据插入到内部部署的 Oracle 数据库中。 我可以成功 运行 逻辑应用程序集成并将数据插入我们的 Oracle table(自定义暂存 table)。

我想在插入新数据之前 运行 对那个 table 进行 运行 分类。 我添加了 Oracle - 执行 Oracle 查询 组件,然后提供了以下查询: 截断 TABLE .;

部署到 Azure 后,集成在执行 Oracle 查询时失败并出现错误:

"message": "BadGateway",
"innerError": {
"status": 502,
"message": "Unable to find the requested .Net Framework Data Provider. It may not be installed.\r\n inner exception: Unable to find the requested .Net Framework Data Provider. It may not be installed....",

如果我删除 Execute a Oracle Query 组件,Oracle Insert row 组件工作正常。 我不确定为什么它说网关可能未安装。我怀疑这是一条 badly trapped 错误消息。

执行 Oracle 查询 应该如何使用? 否则,如何执行 t运行cate 或如何调试此错误消息?

谢谢!

适用于 Azure 逻辑应用程序的 Oracle 连接器不支持 DDL。您得到的异常是 Azure 逻辑应用程序中的通用异常。老实说,我认为异常处理程序模块在这里不是很可靠,因为当问题没有任何关系时,它通常会转到网关问题。但是,您可以选择通过调用存储过程来克服此限制。

在甲骨文中

create or replace procedure pr_trc_table ( ptab in varchar2 )
is 
begin 
  execute immediate 'truncate table '||ptab||' ' ;
exception when others then raise;
end;
/

这个由 Microsoft 开发的 Oracle Connector 有很多限制,这是正常的,因为他们试图确保您使用他们自己的 Azure SQL 服务。

  • 在 Oracle 服务器上调用存储过程时,我们有以下限制:
  • 目前不支持 OUT 参数。
  • Return 值不可用,因为 Oracle 存储过程没有 return 任何结果。
  • Oracle 函数不受支持,因此它们未在 UI 中列出。
  • 响应大小限制为 8MB。
  • 请求大小限制为 2MB。
  • 支持 Oracle 本机查询,但有以下限制:
  • 不支持 RefCursor。
  • 不支持 OUT 参数。
  • 只能return编辑一个结果集。
  • 需要网关版本 3000.63.4(10 月发布)或更高版本。
  • Oracle 数据访问客户端支持的最低版本是版本 11

此外,如果任何oracle查询或存储过程执行时间超过110秒,该动作将超时。插入和更新 table 不是 return 完整项目,它 return 只是操作的输入属性。需要主键才能获得 GetRows 操作的确定性分页结果。