• 고객센터
  • 교육
  • 매뉴얼
  • 데모
  • 제품소개
조회 수 : 4063
2007.11.05 (02:10:33)
* 고객시스템명 : A/S 시스템
* TOInB 버전 : 5.x
* 서버 Platform : Window
* 문의 유형(질문/요청/참조) : SO 에러시 에러 정보 DB 저장 및 DB 트렌젝션 문의
* 내용

1. SO 에서의 에러정보 DB 저장

작성된 SO 에서 에러발생시 에러정보(TBL_ERROR_CODE, TBL_ERROR_MSG, 기타..) 를 DB 에 저장하려 합니다.
이를 위해 에러정보 테이블과 해당 테이블에 값을 저장할 공용 SO (SO 'ErrorWrite') 를 만들었습니다.

- 대상 SO에서 TB_on_error() 에 다음과 같은 형태로 기술

    (1) 파일 로그 기록
       TBL_Prn(tb_stderr, "TBL_ERROR_CODE[%d] : %s",  TBL_ERROR_CODE, TBL_ERROR_MSG);
                        
    (2) 데이터 테이블 생성(ErrInfo)

    (3) SO 'ErrorWrite' 의 input1 포멧에 맞게 TBL_SetFormat() 함수 사용

    (4) 데이터 테이블 에 값 셋팅 ( TBL_PutColumnString(), TBL_PutColumnString()... 사용)

    (5) Row 삽입 ( TBL_InsertRow() )

    (6) 해당 SO 'ErrorWrite' 호출 ( TBL_ExecLocalObject() 사용 )

    (7) 데이터 테이블 삭제 ( 'ErrInfo' , TBL_DeleteDatatable() 사용 )

- 상기와 같이 기술하여 대상 SO 를 컴파일 후 에러를 발생시키면 정상적으로 에러정보 기록 SO 를 호출합니다.

   다만, 대상 SO 에서 에러가 발생한 관계로 TBL_ExecLocalObject()를 사용하여 호출한 에러정보 기록 SO 또한 트렌젝션에서 롤백 처리가 되어  정상적으로 DB 에 저장이 되지 않습니다.

- 해결 방안
  
   에러정보 기록 SO ('ErrorWrite') 에서 SO 시작전 롤백 함수( TBL_Rollback() ) 를 수행하여 피호출 SO 에서 발생한 DB트랜젝션을 롤백한 후  에러정보를 DB 에 저장하고 커밋 함수 ( TBL_Commit() ) 를 실행하고자 합니다.

- 고려사항 (문의사항)

   a. 위 로직대로 처리할 경우 혹 제대로 DB 트랜젝션 관리가 안 된다거나 동시에 다른 SO에서 발생된 에러(롤백되어야 할 데이터)까지 커밋될 가능성은 없는지요.
   b. 위 로직이 혹시 토인비의 트렌젝션 관리 기준에 위배되거나 하진 않는지요.
   c. 과연 위의 로직이 의도한 바대로 제대로 동작할 지요.



2. 트렌젝션 문의

  하나의 SO 에서 수행된 모든 PL-SQL 문과 select_sql, insert_sql, update_sql 등은 하나의 트렌젝션으로서 관리가 되는지 궁금합니다.
  또한 위 1번 문의사항과 같이 로컬 혹은 원격지의 호출된 SO 까지 하나의 DB트렌젝션 으로서 관리되고 있는 것인지 또한 의문사항입니다.
  
  SO 내 event 함수 내 SQL 실행 문 또는 PL-SQL 수행시 ROLLBACK; 또는 COMMIT; 이라고 명시적으로 주시 않아도 토인비에서 자동적으로 이러한 DB 트랜젝션이 롤백과 커밋을 일으키는 것인 지 또한 궁금합니다.


* 관련된 메뉴얼을 찾아 이러한 부분을 충족할 수 있겠지만 검색 공력이 작아 찾지 못하고 이렇게 문의드립니다.
   부디 좋은 답변 부탁드리겠습니다.
번호 제목 닉네임 조회 등록일
497 no image Tr 파라미터 전달 방법 문의 [1]
엄엄
9488 2016-03-17
496 no image SAP 연계 메뉴얼 요청 [1]
조성제
10217 2016-01-29
495 no image 출력 시 오류 문의 드립니다. [3]
DA인포메이션
9376 2015-12-14
494 no image 서버 IP변경으로 라이센스 재발급 방법 [1]
루시퍼
7891 2015-11-03
493 no image Dynamic Report Builder 레포트 관련 문의 [1]
snowaka
7692 2015-08-27
492 no image Clob처리 관련 답변 부탁드립니다 [1]
메탈키드
7509 2015-07-29
491 no image 토인비웹리포팅 바코드와 PCL5 [1]
고척동제이
8185 2015-07-20
490 no image toinb 세션 time out 문의 [1]
변주선
8160 2015-07-15
489 no image 토인비5.0 다국어 지원 [1]
김택근
7603 2015-05-21
488 no image Toinb 문제점 확인요청(천진삼성SDI) [1]
tsdi
7764 2015-05-04
게시판을 이용해 주셔서 감사합니다. 다음양식에 맞게 입력해주세요. 포트랑 디비관련은 문제가 없습니다. 디비 TNS 확인 및 web to toinb 포트 전부 확인 하였습니다. Toinb 문제점 확인요청(천진삼성SDI) * 고객시스템명 : SFC 시스템 ( 천진삼성SDI ) * TOInB 버전 : TblVersion= tbl_4.0.2.1.0 * 서버 Platform : hpux 11.23 * 문의 유형(질문/요청/참조) : * 내용 : 긴급 부탁 합니다. 변경점 - DISK 교체 HP XP10000 에서 SS7400 로 전환. 현상 - Toinb 컴포넌트 사용 웝화면 접속시 죽어버림 (화면 무 반응) SE 및 SOM 로그에 컴포넌트 콜 이역이 보이지 않음. Toinb SE 및 SOM 전부 정상 실행이 되고 있으며 또한 Toinb 파일 컴파일이 됨. 참고 Toinb 서비스 가동 상태 tjsfcweb:/toinb/toinb/bin> tb_stat infco ALL HP-UX ############## infco_TB_SE ######################### 401 S toinb 19793 19789 0 154 20 e00000016b0e8b80 345 e00000011eaa1080 13:40:37 ? 0:00 TB_se_ora PROC_STATIC 8 infco 0 OFF 401 S toinb 19792 19789 0 154 20 e00000016b782040 345 e00000011eaa1080 13:40:37 ? 0:00 TB_se_ora PROC_STATIC 7 infco 0 OFF 401 S toinb 19789 1 0 134 20 e0000001705994c0 106 e00000011eaa10c0 13:40:37 ? 0:00 TB_svcd infco SE 401 S toinb 19790 19789 0 154 20 e00000017004e040 345 e00000011eaa10c0 13:40:37 ? 0:00 TB_se_ora PROC_STATIC 6 infco 0 OFF 401 S toinb 19795 19789 0 154 20 e00000016b782280 345 e00000011eaa1100 13:40:37 ? 0:00 TB_se_ora PROC_STATIC 10 infco 0 OFF 401 S toinb 19794 19789 0 154 20 e00000017091b280 345 e00000011eaa10c0 13:40:37 ? 0:00 TB_se_ora PROC_STATIC 9 infco 0 OFF ############## infco_TB_SOM ######################## 401 S toinb 19800 19796 0 134 20 e0000001699c0b80 106 e00000011eaa1100 13:40:37 ? 0:00 TB_som PROC_STATIC 8 infco 0 OFF 401 S toinb 19801 19796 0 154 20 e00000016b7824c0 106 e00000011eaa1100 13:40:37 ? 0:00 TB_som PROC_STATIC 9 infco 0 OFF 401 S toinb 19802 19796 0 154 20 e00000017033e4c0 106 e00000011eaa10c0 13:40:37 ? 0:00 TB_som PROC_STATIC 10 infco 0 OFF 401 S toinb 19799 19796 0 154 20 e00000017091b700 106 e00000011eaa1100 13:40:37 ? 0:00 TB_som PROC_STATIC 7 infco 0 OFF 401 S toinb 19796 1 0 154 20 e00000017004e940 106 e00000011eaa10c0 13:40:37 ? 0:00 TB_svcd infco SOM 401 S toinb 19797 19796 0 154 20 e00000017061d280 106 e00000011eaa10c0 13:40:37 ? 0:00 TB_som PROC_STATIC 6 infco 0 OFF SE Log : ##### TB_svcd Started VER (4.0.2.1.9) ########### ####### TB_se_ora Started [STATIC] ####### ####### TB_se_ora Started [STATIC] ####### ####### TB_se_ora Started [STATIC] ####### ####### TB_se_ora Started [STATIC] ####### ####### TB_se_ora Started [STATIC] ####### infco_TB_SE.log: END
487 no image 서버 디스크 변경시 Toinb 싱행에러 문의 [1]
tsdi
7430 2015-05-04
486 no image SOB관련 문의 입니다. [1]
9417 2015-02-06
게시판을 이용해 주셔서 감사합니다. 다음양식에 맞게 입력해주세요. * 고객시스템명 : * TOInB 버전 : * 서버 Platform : * 문의 유형(질문/요청/참조) : * 내용 : 안녕하세요 SOB관련 문의 입니다. SQL 실행시 속도가 5분이상 걸리는 쿼리인 경우 입니다. 쿼리에 rownum < 10 조건절을 걸어 ! 를 클릭하면 문제가 없는 쿼리 입니다 위 조건을 안걸고 SOB상에서 !를 클릭하여 실행시 Socket Error - Receive(CSInfo1) 이라는 얼럿창이 뜨고 실행이 안되 어떻게 처리 해야 할지 모르겠습니다. 컴파일이 된상태이기 때문에 직접 화면에서 호출하면 한참동안돌다가 오류가 나오고 로그에 남는 부분은 ... [SE00-90602 2015-02-06 13:40:42 <5112> TyIntList TB_grid.c (2348)] 데이터를 전송하는데 실패했습니다. F:TB_GridSend() V:send_buf Value to send( 820byte) sent value(-1 byte) [SE00-90602 2015-02-06 13:40:42 <5112> TyIntList TB_grid.c (2348)] 데이터를 전송하는데 실패했습니다. F:TB_GridSend() V:send_buf Value to send( 820byte) sent value(-1 byte) [SE00-90602 2015-02-06 13:40:42 <5112> TyIntList TB_socket.c (713)] 데이터를 전송하는데 실패했습니다. F:TB_SocketSend() Data(CS_INFO) Hint(-1) Error Code(10054) [SE00-90602 2015-02-06 13:40:42 <5112> TyIntList TB_databuffer.c (921)] 데이터를 전송하는데 실패했습니다. F:TB_DataBufferSend() V:send_buf Value to send(80byte) sent value(-1byte) [SE00-90602 2015-02-06 13:40:42 <5112> TyIntList TB_communicate.c (331)] 데이터를 전송하는데 실패했습니다. F:TB_SocketSendResult() [SE00 2015-02-06 13:40:42 <5112> System engine TB_se_master.c (572)] F:SE_MAIN() connect_svcd Child[03] INPUT=[2], DB RETURN=[DB_SUCC] [SE00 2015-02-06 13:40:42 <5112> MagicProject tb_se_proc.cpp (987)] Child[03] F:WorkThread() connection from (10.63.118.40) end ............................ 입니다 . 이러한 로그를 보고 제가 더 할수 있는 부분이 무엇이 있을까요??
485 no image IE 11 호환성 문의 [1]
조성제
7785 2015-01-08
484 no image java 업데이트시 서버에 미치는 영향 [1]
도영곤
8032 2014-09-16
483 no image SE_LOG variable 함수 관련 문의 드립니다. [1]
임상혁aaa
7519 2014-06-26
482 no image RunExcelSheet 구현 [1]
김강중
7575 2014-03-27
481 no image BLOB 처리방법 문의? 파일 [1]
후니7
8926 2014-01-03
480 no image 토인비 변수 비교시 에러 발생(수정) [1]
서원규
7538 2013-03-26
게시판을 이용해 주셔서 감사합니다. 다음양식에 맞게 입력해주세요. * 고객시스템명 : 신세계 상품권 시스템 * TOInB 버전 : 4.0.1.20 * 서버 Platform : AIX 5.3 * 문의 유형(질문/요청/참조) : 질문 * 내용 : 안녕하세요. 아래와 같이 EVENT 처리 후 컴파일시 에러가 발생합니다. =================================================================================== TB_BOOL cfs_vidchk_s01_TB_on_work ( TB_SESSION_PGV *spgv ) { /* To Do, Add your script here */ TBL_Prn(tb_stderr, "CONNECT CUST IP ADDRESS=[ %s ]", REMOTE_ADDR); EXEC SQL SELECT TRIM(OTHNM) INTO :H_DATA FROM GO712T WHERE COMPCD = '01' AND SYSDIV = '07' AND OTHCLCD = '12' AND OTHCD1 = :V_USERID; TBL_Prn (tb_stderr, "H_DATA = [%s]", H_DATA); TBL_Prn (tb_stderr, "V_USERID = [%s]", V_USERID); if (strcmp(REMOTE_ADDR, H_DATA) != 0){ TBL_Prn (tb_stderr, "사용자 IP 체크 오류"); sprintf (TBL_ERR_MSG, "[입력불가]\n사용자 IP 체크 오류"); return FAILED; } return (TB_SUCC); } ================================================================================= if (strcmp(REMOTE_ADDR, H_DATA) != 0){ TBL_Prn (tb_stderr, "사용자 IP 체크 오류"); sprintf (TBL_ERR_MSG, "[입력불가]\n사용자 IP 체크 오류"); return FAILED; } 이 부분 때문에 에러가 발생하는데 어떻게 해야 두 변수 값(REMOTE_ADDR, H_DATA)을 비교 가능한지 알고 싶습니다. 에러코드 "cfs_vidchk_s01.c", line 83.24: 1506-045 (S) Undeclared identifier FAILED. make: The error code from the last command is 1. Stop. REMOTE_ADDR 이변수로 인해 발생하는 에러로 보여집니다. 빠른 답변 부탁드립니다.
479 no image 토인비 변수 비교시 에러 발생 [1]
서원규
7566 2013-03-26
478 no image TOInB EVENT REMOTE_ADDR 변수 관련 문의 [1]
서원규
7711 2013-03-22
Tag List
XE Login