我正在使用 SSIS 2008,但在调用具有输出参数的 Oracle 存储过程时遇到问题。
我在 SqlPlus 中这样调用存储过程:
var vresult number;
exec my_stored_procedure(:vresult);
print vresult;
语句有效,我得到了我需要的输出。我正在尝试在 SSIS 中做类似的事情,但我需要重复执行此操作,可能在 ForEach 或脚本中使用调用存储过程的结果更新临时结果集(存储过程生成一个数字,我需要将该数字添加到只包含一些状态信息的结果集中的每一行)。
我尝试了很多不同的方法,但总是以“无效语句”或类似错误告终。
我也尝试过以下方法:
问题的关键似乎是存储过程的输出参数。
我试过使用 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/