This error occurs when you attempt to execute a stored procedure that does not exist. If the procedure actually does exist, that is, it appears when sp_help is run with no parameters, the error 2812 can occur if the procedure name was not fully qualified. Additionally, this error can occur if the account used in the Sybase data source in the Information Designer to create Sybase Data source does not have proper permissions to execute stored procedure.
To resolve:
- Ensure the account used in the Sybase data source in the Information Designer has all necessary permissions to execute stored procedure
- Ensure the given Stored procedure does exist on Sybase database
To verify the permissions, you can use a third party JDBC tool, like DBVisulizer, to execute the procedure. Additionally, there various ways to verify the permissions in the link provided in the references.
If you do not know who owns a procedure, use sp_help to display the owner. Run this procedure without any parameters to display objects owned by other users. See Reference Manual: Procedures for instructions.
Alternatively, use the following query to determine who owns the stored procedure you are attempting to execute:
1> select name,owner=user_name(uid)
2> from sysobjects
3> where name = "<procedure_name>"
4> go
If the procedure does not appear in the query’s output, the procedure is either in a different database or does not exist. If you do not own the procedure, qualify the procedure name with the owner name:
1> execute <owner_name>.<procedure_name>
2> go
For procedures used by many database users, the database owner should create the procedure, which allows any user to find the procedure without specifying an owner name. If the procedure is not in the database where it is executed, fully qualify the procedure name with the database name:
1> exec <database_name>.<user_name>.<procedure_name>
2> go
The owner name is not needed if you or the database owner own the procedure:
1> exec <database_name>.<procedure_name>
2> go
Execute permission must be provided so other users can execute this procedure, but no permissions are required to see the text of the procedure.