Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在VisualStudio2010的.NET4中使用EDM调用Oracle包函数?_.net_Visual Studio 2010_Oracle_Odp.net_Odac - Fatal编程技术网

如何在VisualStudio2010的.NET4中使用EDM调用Oracle包函数?

如何在VisualStudio2010的.NET4中使用EDM调用Oracle包函数?,.net,visual-studio-2010,oracle,odp.net,odac,.net,Visual Studio 2010,Oracle,Odp.net,Odac,我使用的是Visual Studio 2010、.NET 4、Oracle数据库11gR2和Oracle ODT 11.2.0.3.60 Beta 2(但我看到ODT 11.2.0.3.20也有相同的行为) 我的架构有一个包,定义如下: create or replace package dummy1 as procedure proc1( asd varchar2); function func1( sdf varchar2) return numbe

我使用的是Visual Studio 2010、.NET 4、Oracle数据库11gR2和Oracle ODT 11.2.0.3.60 Beta 2(但我看到ODT 11.2.0.3.20也有相同的行为)

我的架构有一个包,定义如下:

create or replace 
package dummy1
as
  procedure proc1(
      asd varchar2);
  function func1(
      sdf varchar2)
    return number;
end dummy1;

create or replace 
package body dummy1
as
procedure proc1(
    asd varchar2)
as
begin
  /* TODO implementation required */
  null;
end proc1;
function func1(
    sdf varchar2)
  return number
as
begin
  /* TODO implementation required */
  return null;
end func1;
end dummy1;
如果我对架构进行EDM,我可以在模型浏览器的
Model.Store
下的
storage Procedure
文件夹中看到
proc1
func1
。我可以在
proc1
上执行“函数导入”,然后从.NET程序调用它。但是,我无法对
func1
执行相同的操作


ODP包中的函数是否有限制,或者我在这里遗漏了什么?

嗨,艾伦,我意识到这是一篇老文章,但我只是想知道你是否做到了这一点?i、 e.包中包含的调用过程?谢谢,汤姆s@Tom阿斯,不,我没有得到任何东西!我通常认为.NET不支持Oracle存储过程。我认为最好的解决方案可能是编写自己的包装器,从数据字典中获取过程定义。话虽如此,我发现我想做的事情在Python中要容易得多!谢谢你,艾伦!真遗憾。不幸的是,Python不是我的选择。必须保持在客户满意的范围内,即.Net。顺便说一句,做得好!如果他们打算支持所有的程序,那么为什么中途停下来,不支持包内的程序呢。唉,唉。再次感谢。TApparently DotConnect for Oracle比Oracle的库处理过程和功能要好得多,但遗憾的是它不是免费的。他们有免费试用,所以如果你有预算的话,也许值得一看。太好了。谢谢你,艾伦。我去看看!