Asp.net 忽略第:PL/SQL:SQL语句行的错误。创建/更换包体时。Oracle.DataAccess.Client.OracleException

Asp.net 忽略第:PL/SQL:SQL语句行的错误。创建/更换包体时。Oracle.DataAccess.Client.OracleException,asp.net,oracle,Asp.net,Oracle,正如我前面的问题一样,包中的另一个过程也在发生同样的事情 我的存储库代码: using (OracleConnection oracleConnection = new BaseRepository().Connection) { oracleConnection.Open(); OracleCommand command = new OracleCommand("PACKA

正如我前面的问题一样,包中的另一个过程也在发生同样的事情

我的存储库代码:

using (OracleConnection oracleConnection = new BaseRepository().Connection)
                {
                    oracleConnection.Open();
                    OracleCommand command = new OracleCommand("PACKAGE_ACCOUNT.USP_GET_USER_BY_CREDENTIALS", oracleConnection);
                    command.CommandType = System.Data.CommandType.StoredProcedure;
                    
                    command.Parameters.Add("SP_CURSOR", OracleDbType.RefCursor, System.Data.ParameterDirection.Output);
                    command.Parameters.Add("SP_LOGIN_NAME", OracleDbType.Varchar2, 50, loginName, System.Data.ParameterDirection.Input);
                    command.Parameters.Add("SP_LOGIN_PASSWORD", OracleDbType.Varchar2, 50, Security.EncryptText(loginPassword), System.Data.ParameterDirection.Input);
                    
                    Mapper.CreateMap<IDataReader, ApplicationUser>();
                    dataReader = command.ExecuteReader(); // exception arises here.

                   List<ApplicationUser> lstUsers = Mapper.Map<List<ApplicationUser>>(dataReader);
                    return lstUsers.FirstOrDefault();
                }
我的包体:

CREATE OR REPLACE PACKAGE BODY PACKAGE_ACCOUNT
AS 

PROCEDURE USP_GET_APP_FUNC_BY_ROLE_ID(SP_ROLE_ID IN INT, SP_CURSOR OUT T_CURSOR)
IS
BEGIN
  OPEN SP_CURSOR FOR
select "ApplicationFunction".* from "RoleAccess"
Inner Join "ApplicationFunction" 
on "RoleAccess"."fkApplicationFunctionId" = "ApplicationFunction"."pkApplicationFunctionId"
Where "RoleAccess"."fkApplicationRoleId" = SP_ROLE_ID;
END USP_GET_APP_FUNC_BY_ROLE_ID;


END PACKAGE_ACCOUNT;
/
这一次相同的错误出现在(选择“ApplicationFunction”。*)。 请帮忙

CREATE OR REPLACE PACKAGE PACKAGE_ACCOUNT
AS
TYPE T_CURSOR IS REF CURSOR;
PROCEDURE USP_GET_APP_FUNC_BY_ROLE_ID(SP_ROLE_ID IN NUMBER(10,0), SP_CURSOR OUT T_CURSOR);
END PACKAGE_ACCOUNT;
ORACLE中没有
INT
,请将其更改为
NUMBER(10,0)
希望这能解决您的问题

CREATE OR REPLACE PACKAGE PACKAGE_ACCOUNT
AS
TYPE T_CURSOR IS REF CURSOR;
PROCEDURE USP_GET_APP_FUNC_BY_ROLE_ID(SP_ROLE_ID IN NUMBER(10,0), SP_CURSOR OUT T_CURSOR);
END PACKAGE_ACCOUNT;