Calling Overloaded Packaged Procedure Fails With PLS-307 "Too Many Declarations of 'X' Match This Call" (Doc ID 1375401.1)

Last updated on JULY 05, 2017

Applies to:

Oracle Data Provider for .NET - Version 11.1.0.7 and later
Information in this document applies to any platform.

Symptoms

Using ODP .Net 2.111.7.20 to execute a overloaded packaged procedure fails with

Error: ORA-6550: line 1, column 7:
PLS-307: too many declarations of 'TEST' match this call
ORA-6550: line 1, column 7:
PL/SQL: Statement ignored

Here is an example code:

The c# source is :

OracleCommand cmd = new OracleCommand("test_overload.test", conn);
cmd.CommandType = CommandType.StoredProcedure;

OracleParameter p1 =
cmd.Parameters.Add(new OracleParameter("p1", OracleDbType.Decimal,
i, ParameterDirection.Input));
OracleParameter p2 =
cmd.Parameters.Add(new OracleParameter("p2", OracleDbType.Clob,
s, ParameterDirection.Input));


The package contains two definitions of procedure TEST

PROCEDURE test(p1 NUMBER,p2 CLOB);
PROCEDURE test(p1 VARCHAR2,p2 CLOB);


The error does not occur when using ODP .Net 10.2.

Changes

Upgraded the ODP.net client to 11.1.0.7 or later.

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms