oracle - 从 Azure 数据工厂 v2 在 Oracle 中执行存储过程

标签 oracle azure azure-data-factory

我有一个复制事件列表,这些事件在 ADF 管道中并行动态触发,以将数据从 Azure SQL 加载到 Oracle 9i 数据库。如果我的所有加载都成功完成,我需要更新 Oracle 上的状态表。

我尝试了该社区提供的多种方法,但没有成功。只是想知道我是否遗漏了什么。请问有什么指点吗?

方法 1: 在 Oracle 上创建 SP:

CREATE OR REPLACE PROCEDURE AZ.UPDATE_LOOKUP_TEST AS
BEGIN
update AZ.STATUS_DIM set Status='Completed' where Database ='NLM';
COMMIT;
END;

ADF: 查找事件 enter image description here

错误详细信息
错误代码 2100 故障类型
用户配置问题 详情
ErrorCode=InvalidParameter,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=属性'columns'的值无效:'值不能为空。参数名称:columns'.,Source=,''Type=System.ArgumentNullException,Message=Value 不能为空。参数名称:columns,Source=Microsoft.DataTransfer.Common,'

方法 2:

查找事件中的查询:
执行 AZURE45.UPDATE_LOOKUP_TEST;

错误:

“源”端发生故障。 ErrorCode=UserErrorOdbcOperationFailed,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,消息=ERROR [42000] [Microsoft][ODBC Oracle Wire Protocol 驱动程序][Oracle]ORA-00900:无效的 SQL 语句,源=Microsoft.DataTransfer。 ClientLibrary.Odbc.OdbcConnector,''Type=System.Data.Odbc.OdbcException,Message=ERROR [42000] [Microsoft][ODBC Oracle Wire Protocol 驱动程序][Oracle]ORA-00900:无效的 SQL 语句,源 = msora28.dll ,'

方法 3:
直接在Query中提供更新语句

查询:更新 AZ.STATUS_DIM set Status='Completed' where Database ='NLM';

错误:

ErrorCode=InvalidParameter,'Type=Microsoft.DataTransfer.Common.Shared.HybridDeliveryException,Message=属性“columns”的值无效:“值不能为 null。参数名称:columns'.,Source=,''Type=System.ArgumentNullException,Message=Value 不能为空。参数名称:columns,Source=Microsoft.DataTransfer.Common,'

如何从 Azure 数据工厂执行 Oracle 存储过程?

最佳答案

有类似的问题。最终是 ADF 使用的 ODBC 驱动程序出现问题。它需要特定的语法。

我成功使用的语法是:

CALL NAMEOFPACKAGE_PKG.NameOfFuntion()

我从脚本事件中调用

关于oracle - 从 Azure 数据工厂 v2 在 Oracle 中执行存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65282135/

相关文章:

azure - 有没有办法在 Azure 数据工厂中使用 cURL 命令?

java - oracle jdbc 驱动版本疯狂

sql - 从字符串中删除空格,SQL

php - 如何在 ORACLE 中保存日期 Y-m-d H :i:s format?

c# - 使用 azure appsettings 读取 azure webjob 中 EventHubTrigger 的连接字符串

azure-data-factory - Azure数据工厂系统变量管道触发器时间日期转换错误 "The function call must take the completion string"

database - 将 2500 万条记录从一个表复制到 oracle 中的另一个表

java - 在 MS Azure 上部署 java Tomcat 应用程序(war)

azure - 无法验证 Azure 网站的自定义 .ninja 域

azure-data-factory - 获取元数据如何对其输出进行排序/排序?