gpt4 book ai didi

c# - 使用引用游标作为 ODP.NET 的输入类型

转载 作者:太空宇宙 更新时间:2023-11-03 11:54:39 24 4
gpt4 key购买 nike

我正在尝试使用 RefCursor作为 Oracle 存储过程的输入参数。这个想法是选择一组记录,将它们提供给存储过程,然后 SP 循环输入 RefCursor。 , 对其记录进行一些操作。不,我无法选择 SP 中的记录,从而避免必须使用 RefCursor作为输入类型。

我在 Oracle 的文档中找到了一个关于如何执行此操作的示例(这就是链接,但似乎我还不能使用它们),但它使用了一个简单的 SELECT填充输入 RefCursor ;这就是问题所在:我必须从代​​码中填充它。

你看,在代码中我有这个:

[OracleDataParameter("P_INPUT", OracleDbType.RefCursor, ParameterDirection.Input)]
private List<MiObject> cursor;

而且,我尝试用 List<T> 填充光标 , 一个 DataTable ,甚至是 MyObject 的普通数组,但没有任何效果。当我尝试运行测试时出现错误:

"Invalid Parameter Linking"

也许不是准确的措辞,因为我是从西类牙语翻译过来的,但这就是信息

有什么想法吗?

最佳答案

我还与 Mark Williams 保持联系,他是我试图在我的帖子中链接的文章的作者,他的回复是这样的:

"给我发邮件没问题;但是,我想我在这个问题上的回答会让您失望。

不幸的是,你不能做你想做的事(像那样从客户端创建一个 refcursor)。

其中的几个问题是,refcursor 指的是 Oracle 在服务器上拥有的内存,而 Oracle 没有诸如 DataTable 或 .NET List 等客户端项的概念。

除了使用 refcursor,您还有其他选择吗?"

所以基本上我搞砸了,这个问题已经结束了。感谢大家阅读和/或尝试提供帮助。

关于c# - 使用引用游标作为 ODP.NET 的输入类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/933903/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com