Bien. Eso devela un misterio: El problema está en el nivel de código de la , y no en el procedure en sí, o de lo contrario saltaría al OracleException.
Por lo que podemos saber:
- Los parámetros están entrando bien.
- La creación del OracleCommand está bien.
- El problema se halla en que no puede recuperar una tabla con esa llamada...
Por lo que puedo leer de la documentación y de los ejemplos que has puesto (tu me dirás si estoy equivocado), parece que lo que debe devolver el procedure de Oracle es un Cursor, y no un DataSet o DataTable (a menos que la última sentencia fuese un SELECT), y esto es un problema porque el Método OracleDataAdapter.Fill() no puede devolver un cursor sino alguno de los otros dos objetos. Según MSDN,
un cursor puede ser devuelto por un OracleDataReader, y en ese caso ese Cursor puede ser usado para cargar un DataSet como segundo parámetro de un
OracleDataAdapter.Fill(DataSet, IDataReader).
Es posible que todo el problema resida allí, en que lo que está retornando el procedure no es lo que el OracleDataAdapter está esperando y eso impide todo el asunto.