【问题标题】:It is possible to pass variable Ref cursor of an Oracle stored procedure when called from SQL Server从 SQL Server 调用时,可以传递 Oracle 存储过程的变量 Ref 游标
【发布时间】:2021-12-02 06:34:50
【问题描述】:

我从 SQL Server 调用 Oracle 存储过程时遇到问题。 另一个系统,给我发一个我需要调用的存储过程,不能改,但是我想从SQL Server调用。

我在 SQL Server 中创建了一个到 Oracle 的链接服务器,我已经运行了选择查询,如果我可以检索数据,则启用 RPC 属性

EXECUTE ('begin SP_DETAILS(P_QUALIFIER,P_PORTFOLIO,P_DATE); end;', null, null, null) AT Operadora;

男士。 7213, Nivel 16, Estado 1, Línea 4 提供者尝试将远程存储过程参数传递给远程服务器“Operadora”失败。验证参数个数、顺序和传递的值是否正确。

存储过程在Oracle中接收的参数如下,但是我分配REF CURSOR有问题,其余参数为空

create or replace PROCEDURE SP_DETAILS ( P_DS_MODEL_PORTF_DET_C IN OUT SYS_REFCURSOR,
 P_QUALIFIER IN VARCHAR2,
 P_PORTFOLIO     IN     VARCHAR2,
 P_DATE     IN     TIMESTAMP )

谢谢

【问题讨论】:

  • 根据问题指南,请不要发布代码、数据、错误消息等的图像 - 将文本复制或输入到问题中。请保留将图像用于图表或演示渲染错误,无法通过文本准确描述的事情。

标签: sql-server oracle


【解决方案1】:

您可以通过 .NET 访问 Oracle REF CURSOR。如果您确实需要从 SQL Server 执行此操作,则必须使用 CLR。​​

【讨论】:

  • 感谢您的回复,我希望如果我能得到它。我不知道 CLR,但我只使用 SSIS 消耗它需要更多时间。您是否有链接可以帮助我使用 CLR 进行操作,还是会非常复杂?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-08
  • 2015-12-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多