Page 1 of 1

Problem executing stored procedure with table parameters...

Posted: Tue 09 Oct 2007 14:37
by rpgkaiser
Hi, i have the following oracle scenario (simplified, of course):

- A table type named t_strings inside a package named globals.
- A stored procedure named all_emps inside a package named employees, who has an out parameter of type t_strings:

procedure all_emps(names out globals.t_strings);

In C# i try to execute the stored proc all_emps in this way:

OracleCommand cmd = this.connection.CreateCommand();
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "employees.all_emps";
OracleParameter param = new OracleParameter("names",
OracleDbType.Table);
param.Direction = ParameterDirection.Output;
param.ObjectTypeName = "globals.t_strings";
cmd.Parameters.Add(param);
cmd.ExecuteNonQuery();

The execution end with an exception with message:
"OCI-22303: type "GLOBALS"."T_STRINGS" not found"

an i already verify than the t_strings table type exist.

Is this an know problem? There is any problem with the execution of stored procedure with table parameters, specifically when the table type is inside a package?
Please help me. A have make many search over the internet an i have no track about this issue.

PD: I'm using OraDirect .NET Data Provider 3.50.

Posted: Wed 10 Oct 2007 06:59
by Alexey
First of all, use the latest version of OraDirect .NET (3.55).
Do you use direct mode? What is the version of your Oracle server?
Please provide the definition of your database objects.