Experienced the error “PLS-00306: wrong number or types of arguments in call…” when calling the Oracle stored procedure
Posted by Nico Wang on 16 April 2014 01:16 PM
When calling the Oracle stored procedure you may get the error like “PLS-00306: wrong number or types of arguments in call…”, and if you check the Appeon error.log file you will get the following information.
This issue is probably caused by the limitation of the user permission.
Step 1- Since Appeon would try to get the argument information of stored procedure by executing the SQL statements like below, please check if the user has enough permission to access View ALL_ARGUMENTS and ALL_OBJECTS and ALL_SYNONYMS.
You can login with the user that you use to connect to the database in the web application and change the 'owner', 'spName' and 'packageName' accordingly and then directly execute the SQL statements as below to check if the user has the enough permission. Alternatively, you can create a Datawindow object with these SQL statements and then do retrieve on web to check if the user has enough permission.
Step 2- If the user doesn’t have enough permission, then please grant the proper permission to the user.
Step 3- Create the view with the same name for this user to make the user get the correct result.
For example, if the user cannot get the correct result from the view ALL_ARGUMENTS but can get the correct result from the view User_ARGUMENTS, then you cacn create view ALL_ARGUMENTS for this user with the same definition as view User_ARGUMENTS to work around this issue.