2
ASP.NET MVC 애플리케이션을 만들고 엔터프라이즈 라이브러리를 사용하여 Oracle 데이터베이스에 연결합니다.엔터프라이즈 라이브러리로 Oracle 저장 프로 시저 및 패키지 호출
나는 항상 SQL Server를 사용했으며 이전에는이 방법을 사용했습니다.
Database db = readConfig.ReadWebConfig();
SP_NAME = "Get_Data";
using (DbCommand dbCommand = db.GetStoredProcCommand(SP_NAME))
{
//Pass parameters
dbCommand.Parameters.Clear();
db.AddInParameter(dbCommand, "CommParent_ID", DbType.Int32, comment.CommParent_id);
db.AddInParameter(dbCommand, "Type_ID", DbType.Int32, comment.Type_id);
IRowMapper<CommentEntity> resmapper = MapBuilder<CommentEntity>.MapAllProperties()
.Map(x => x.UserEmail).ToColumn("Email")
.Map(x => x.Nick).ToColumn("FullName")
.Map(x => x.User_id).ToColumn("User_ID")
.Map(x => x.Comment_id).ToColumn("Comment_ID")
.Build();
List<CommentEntity> result = db.ExecuteSprocAccessor<CommentEntity>(SP_NAME, resmapper, dbCommand.Parameters).ToList<CommentEntity>();
}
오라클을 사용하여 문제는 저장 프로 시저가 패키지 및 패키지 본문에 포함되어 있다는 것입니다.
내 질문은 내 전화에서 패키지 이름을 설정하는 방법입니다.
이OracleParameter oraP = new OracleParameter();
oraP.OracleDbType = OracleDbType.RefCursor;
oraP.Direction = System.Data.ParameterDirection.Output;
cmd.Parameters.Add(oraP);
는 당신이 시도 않았다하십시오 SYS_REFCURSOR 출력 매개 변수는이 사용 추가하려면
:
감사 –
고마워요 ... 질문 하나 더 .. 어떻게 커서 유형에 대한 AddOutParameter를 정의합니까?. – Diego
내 대답보기. –