相关疑难解决方法(0)

ORA-21700: 对象不存在或被标记为删除关联数组作为从 ODP.NET 调用的输入参数

我在 Oracle 12c 上有这个包代码

CREATE OR REPLACE PACKAGE Support_Data_Types AS
  TYPE ttDate            IS TABLE OF DATE  
END Support_Data_Types;

PROCEDURE GetData
(
    tabDates        IN SUPPORT_DATA_TYPES.TTDATE,
)

AS
BEGIN

    SELECT count(*) INTO n FROM table(tabDates);

END GetData;
Run Code Online (Sandbox Code Playgroud)

如果我从代码中调用它,PL/SQL它就可以工作

declare
    dates SUPPORT_DATA_TYPES.TTDATE;
begin
    dates(1) := To_DATE('12/31/2005','MM/DD/YYYY');
    dates(2) := To_DATE('03/31/2006','MM/DD/YYYY');
    dates(3) := To_DATE('06/30/2006','MM/DD/YYYY');
    dates(4) := To_DATE('09/30/2006','MM/DD/YYYY');

    MyPackage.GETVALUE(dates);
end;
Run Code Online (Sandbox Code Playgroud)

但是如果我从 ODP.NET 调用它,则会收到错误消息SELECT count(*) INTO n FROM table(tabDates);

ORA-21700: 对象不存在或已标记为删除

我的.NET 代码

    Public Function GetValue(dates As IEnumerable(Of Date))

        Using connection As IDbConnection = …
Run Code Online (Sandbox Code Playgroud)

.net oracle associative-array odp.net

4
推荐指数
1
解决办法
3830
查看次数

标签 统计

.net ×1

associative-array ×1

odp.net ×1

oracle ×1