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

wqsoz72f  于 2022-12-03  发布在  Oracle
关注(0)|答案(1)|浏览(144)

我有一个复制活动列表,这些活动在我的ADF管道中并行动态触发,以便将数据从Azure SQL加载到Oracle 9 i数据库。如果成功完成所有加载,我需要更新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:查找活动x1c 0d1x
错误详细信息
错误代码2100故障类型
用户配置问题详细信息
错误代码=无效参数,'类型=Microsoft.数据传输.公共.共享.混合传递异常,消息=属性'列'的值无效:'值不能为空。参数名:columns '.,Source=,''类型=系统。参数为空异常,消息=值不能为空。参数名:列,源=Microsoft.DataTransfer.Common,“

方法2:

查找活动中的查询:
执行AZURE 45.更新_查找_测试;
错误:
“源”端发生故障。错误代码=UserErrorOdbcOperationFailed,“类型=Microsoft.数据传输.公用.共享.混合传递异常,消息=错误[42000] [Microsoft][ODBC Oracle有线协议驱动程序][Oracle]ORA-00900:无效的SQL语句,源=Microsoft.数据传输.客户端库.数据库.数据库连接器,“”类型=系统.数据.数据库.数据库异常,消息=错误[42000] [Microsoft][ODBC Oracle有线协议驱动程序][Oracle]ORA-00900:无效的SQL语句,源=msora28.dll,'

方法3:

直接在查询中提供更新语句
查询:更新AZ.STATUS_DIM设置状态=“已完成”,其中数据库=“NLM”;
错误:
错误代码=无效参数,'类型=Microsoft.数据传输.公共.共享.混合传递异常,消息=属性'列'的值无效:'值不能为空。参数名:columns '.,Source=,''类型=系统。参数为空异常,消息=值不能为空。参数名:列,源=Microsoft.DataTransfer.Common,“
如何从Azure数据工厂执行Oracle存储过程?

zpjtge22

zpjtge221#

有一个类似的问题。最终是ADF正在使用的ODBC驱动程序的问题。它需要特定的语法。
我成功使用的语法是:

CALL NAMEOFPACKAGE_PKG.NameOfFuntion()

我从脚本活动中调用了它

相关问题