简体   繁体   English

不支持Oracle重载方法

[英]Oracle Overloaded methods are not supported

I'm using .Net C# to call an Oracle function using the usual Oracle command object. 我正在使用.Net C#使用通常的Oracle命令对象来调用Oracle函数。 In the Oracle package there is a procedure called SetNullHandling and also a function by the same name. 在Oracle软件包中,有一个名为SetNullHandling的过程,还有一个同名的函数。 The function is the method I'm calling passing in some XML, and this in turn calls the procedure. 该函数是我调用的传递一些XML的方法,而这又称为过程。

procedure SetNullHandling(pNullHandling integer) is...

function SetNullHandling(pInput in XMLType) return XMLType is...

When I try and execute my C# code passing in an XML type, I get an error. 当我尝试执行以XML类型传递的C#代码时,出现错误。

{"Overloaded methods are not supported (PX_Package.SetNullHandling)"}

Any ideas? 有任何想法吗?

如果不支持重载,则需要包装器过程/函数来调用重载的变体,例如FSetNullHandling来包装proc的SetNullHanlding FUNCTION和PSetNullNullHanlding,然后在C#中调用这些包装器。

Got the DBA's to rename the function so it is now unique. 获得了DBA的重命名功能,因此它现在是唯一的。 Worked around the problem. 解决该问题。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM