When I try use package with ADO.NET, the dataset design say the error follow:
ORA-06550: Linea 1, columna 13:
PLS-00114: the identificator 'CAMPO#0#OBTENER_TARJETAS_EMPLE' is too long.
Also, when the identificator is more smaller than it say:
ORA-06550: línea 1, columna 7:
PLS-00201: the identificator 'PRIMA.CAMPO#0#TARJETAS_EMPLEADO' not exists.
ORA-06550: línea 1, columna 7:
PL/SQL: Statement ignored
Edited by: sebamart on 12-mar-2012 5:35
PLS-00201: identifier 'string' must be declared
Cause: You tried to reference either an undeclared variable, exception, procedure, or other item, or an item to which no privilege was granted or an item to which privilege was granted only through a role.
Action: 1) Check your spelling and declaration of the referenced name. 2) Verify that the declaration for the referenced item is placed correctly in the block structure. 3) If the referenced item is indeed declared but you don't have privileges to refer to that item, for security reasons, you will be notified only that the item is not declared. 4) If the referenced item is indeed declared and you believe that you have privileges to refer to that item, check the privileges; if the privileges were granted only via a role, then this is expected and documented behavior. Stored objects (packages, procedures, functions, triggers, views) run in the security domain of the object owner with no roles enabled except PUBLIC. Again, you will be notified only that the item was not declared.
What happens when you call this stored procedure via SQL*Plus or SQL Developer? What about Oracle Developer Tools?
I ran the following ODP.NET code with what I assume is the same stored procedure name as you want to use. It executed successfully. Answering your question is hard without more details.
OracleConnection con = new OracleConnection("<Connection String>");
OracleCommand cmd = new OracleCommand("HR.CAMPO#0#TARJETAS_EMPLEADO", con);
cmd.CommandType = CommandType.StoredProcedure;
OracleParameter prm = new OracleParameter("param1", OracleDbType.Int16, 5);
prm.Direction = ParameterDirection.InputOutput;
prm.Value = 100;
I did some more investigation. This appears to be a bug/enhancement request within Visual Studio itself. Visual Studio does not support the concept of packages. It considers the Package.Procedure format as all one name for a procedure. We've asked MS to support package names in future VS versions, but have not heard anything definitive yet.
Are there any news on this? We are having the same problem in VS2010.
We have many typed datasets (from package procedures) which have been created successfully with ODAC Release 3 Developer Tools. These datasets are used for report data sources.
Now when I updated to the latest ODAC I cannot add/modify datasets with the wizard.
There was a new release of ODAC (220.127.116.11.20) but according to my fast test this bug still exists. Right? I cannot find the bug with the ID you gave, is there a typo? When should we expect this to be fixed?
Visual Studio cannot parse stored procedures that use a Package.Procedure format. Microsoft must support this format in Visual Studio in order for Oracle Developer Tools to enable it. Oracle has communicated this bug/feature request to Microsoft, but have not been provided a time frame with a fix.
According to my tests version ODTwithODAC112021 was the last working version.
All newer versions are not working. It is not question of Visual Studio. Not Visual Studio was changed.
The question is: what and why was changed in ODT, which become unusable?