答案 0 :(得分:0)
可能是特权吗?该过程可能存在于该模式中,但您可能没有执行它的权限,或者您可能通过未启用的角色拥有权限。
可以是参数。如果过程需要两个参数(或者是一个函数),那么尝试用一个参数调用它就会得到一个“不存在”的错误,当它真的意味着“没有一个我只能使用一个参数调用”。
最终选项是您的架构中的包具有与其他架构相同的名称。像'UTILS'这样的泛型可能会发生。如果您要求Oracle执行UTILS.PROC并且您有一个UTILS包,那么它将查找包并在未找到它时抛出错误,即使存在带有PROC过程的UTILS模式。
已编辑添加
在这种情况下,我倾向于参数问题 示例here似乎有用吗?作为参数占位符。
答案 1 :(得分:0)
我可能会在这里弄错,但我认为NHibernate要求所有UDF / SPROCS都以“dbo”为前缀; {call dbo.schema2.my_sproc (:p1)}
有效吗?