eg with this C# code:
Code: Select all
CoreLab.Oracle.OracleConnection oc = new CoreLab.Oracle.OracleConnection();
oc.ConnectionString = "pooling = false";
oc.Direct = true;
oc.Unicode = true;
oc.AutoCommit = true;
oc.Server = "servername";
oc.Sid="sidname";
oc.UserId = "schema";
oc.Password = "password";
oc.Open();
CoreLab.Oracle.OracleCommand o2 = oc.CreateCommand();
o2.CommandType = CommandType.StoredProcedure;
o2.ParameterCheck = true;
o2.CommandText = "PKG_app_test_very_long_package.proc_test2_this_is_a_procedure";
o2.Prepare();
o2.Parameters["v_name"].Value = "name";
o2.Parameters["v_category"].Value = "333";
o2.ExecuteNonQuery();
ORA-20001: ORU-10032: procedure PROC_TEST2_THIS_ within package PKG_APP_TEST_VERY_LONG_PACKAGE does not exist
ORA-06512: at "SYS.DBMS_DESCRIBE", line 198
ORA-06512: at line 1
here are the database definitions needed to run this code:
Code: Select all
CREATE OR REPLACE PACKAGE BODY PKG_app_test_very_long_package IS
procedure proc_test2_this_is_a_procedure(
v_name IN varchar2,
v_category IN varchar2)
as
begin
if v_name = 'test' then
raise_application_error( -20008,to_char(length(v_category)));
end if;
end proc_test2_this_is_a_procedure;
END PKG_app_test_very_long_package;
CREATE OR REPLACE PACKAGE PKG_app_test_very_long_package IS
procedure proc_test2_this_is_a_procedure(
v_name IN varchar2,
v_category IN varchar2);
END PKG_app_test_very_long_package;