oracle - 使用输出参数调用 Oracle 存储过程

标签 oracle ssis

我正在使用 SSIS 2008,但在调用具有输出参数的 Oracle 存储过程时遇到问题。

我在 SqlPlus 中这样调用存储过程:

var vresult number;
exec my_stored_procedure(:vresult);
print vresult;

语句有效,我得到了我需要的输出。我正在尝试在 SSIS 中做类似的事情,但我需要重复执行此操作,可能在 ForEach 或脚本中使用调用存储过程的结果更新临时结果集(存储过程生成一个数字,我需要将该数字添加到只包含一些状态信息的结果集中的每一行)。

我尝试了很多不同的方法,但总是以“无效语句”或类似错误告终。

我也尝试过以下方法:

  1. How to resolve SQL query parameters mapping issues while using Oracle OLE DB provider?

  2. Update a row in oracle using OLEDB command(SSIS)

  3. Oracle variables

问题的关键似乎是存储过程的输出参数。

我试过使用 Oracle Provider for OLE DB。有什么想法吗?

最佳答案

如果您尝试调用 Oracle PLSQL 中的存储过程,此链接非常简短。 http://plsql-tutorial.com/plsql-passing-parameters-procedure-function.htm

如果您正在使用 Java,那么。语句对象 java.sql.CallableStatement ps; ps.registerOutParameter(parameterIndex, sqlType);

同样,.Net 或任何其他平台必须具有相同的信念。希望如此。:)

关于oracle - 使用输出参数调用 Oracle 存储过程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5951667/

相关文章:

sql - EXECUTE IMMEDIATE PL/SQL block 返回类型

Oracle 堆栈跟踪行号与源代码不匹配!

oracle - SQL 表正在发生变化...错误

sql-server - SSIS - 多种配置

c# - ssis包执行直接成功,通过c#代码执行失败

sql - Oracle - 截断全局临时表

sql - 当所有子记录满足条件时只选择父记录

sql - 在 SSIS 2012 的 OLE DB 源中使用动态 SQL

version-control - 将 SSIS 包置于源代码控制之下

sql - 用反斜杠分隔字符串 SQL/SSIS