제 질문은 매우 간단합니다. WebSphere Commerce와 DB2를 사용하고 있습니다. DB2에서 자체 트리거를 사용하고 있습니다. 트리거가 시작될 때와 트리거가 끝날 때 로그 파일을 확인해야합니다. 어떤 로그 파일에 DB2에 대한 정보가 있습니까?DB2에서 트리거를 감사하는 방법은 무엇입니까?
페루에서 온 그레팅!
제 질문은 매우 간단합니다. WebSphere Commerce와 DB2를 사용하고 있습니다. DB2에서 자체 트리거를 사용하고 있습니다. 트리거가 시작될 때와 트리거가 끝날 때 로그 파일을 확인해야합니다. 어떤 로그 파일에 DB2에 대한 정보가 있습니까?DB2에서 트리거를 감사하는 방법은 무엇입니까?
페루에서 온 그레팅!
트리거는 트리거하는 SQL 문과 별도로 실행되지 않습니다. 실제로 트리거를 실행시키는 명령문으로 컴파일됩니다.
트리거가 실행되는시기를 알아야 할 경우 트리거에서 필요한 로깅 동작을 수행해야합니다. 트리거는 거래 범위 내에서 발생하므로 트리거의 변경 사항 (예 : 로그 표에 삽입)은 나머지 거래와 함께 롤백됩니다.
감사를 위해이 트랜잭션은 자치 프로 시저 (트랜잭션의 나머지 범위를 벗어나는 경우)를 통해 처리해야합니다.
안녕하세요, 귀하의 제안을 따르고있었습니다. 같은 트리거 스키마에서 '로깅 저장 프로 시저'를 수행했습니다. 모든 것은 괜찮 았어, 저장 프로시 저는 'myLoggin.log'라는 텍스트 파일에 기록합니다. 그러나 지금 트리거가 발사 될 때이 문제가 발생합니다. 트리거 호출의 'CALL myProcedure'행에 다음과 같이 표시됩니다. 트리거 "DB2INST1.DIEGOTR"의 트리거 된 SQL 문에서 오류가 발생했습니다. 오류에 대해 리턴 된 정보에는 SQLCODE "-746", SQLSTATE "57053"및 메시지 토큰 "SYSIBMADM.UTL_DI | UTL_DIR_GET_DIRECTORY_PAT"가 포함됩니다. – Diego
-746 오류를 찾으셨습니까? ('db2 "? sql0746n"') –
DB2는 어떤 플랫폼에 있습니까? DB2 on i는 트리거를 개별적으로 관리 할 수 있지만 트리거 시간의 로깅은 정확하게 내장 기능이 아닙니다. – user2338816