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;