Loading

Tableau Server 사이트를 가져올 때 "commit failed; nested exception is org.hibernate.TransactionException: commit failed" 오류 발생

게시 일자: Dec 9, 2022
상세 설명

Tableau Server 사이트를 가져올 때 가져오기가 실패하고 명령줄에 다음 오류 메시지가 나타날 수 있습니다.

"An error occurred on the server while trying to import site <Site Name>.(사이트 <사이트 이름> 가져오기를 시도하는 동안 서버에 오류가 발생했습니다.)
This job failed due to an error.(오류로 인해 이 작업에 실패했습니다.)
commit failed; nested exception is org.hibernate.TransactionException: commit failed - 'violates foreign key constraint'(커밋 실패함, 중첩된 예외는 org.hibernate.TransactionException임: 커밋 실패함 - '외래 키 제약 조건 위반')".

Cause

매핑 파일의 내용에 오류 또는 누락이 있습니다.
솔루션

옵션 1

매핑 내용에서 오류나 누락이 있는지 확인합니다. 대/소문자도 일치해야 합니다.

옵션 2

아래에 설명된 것과 유사한 오류가 있는 경우 siteimportexport_<node>.log를 확인합니다.
"Caused by: org.postgresql.util.PSQLException: ERROR: insert or update on table "<table name>" violates foreign key constraint "<key name>"(발생 위치: org.postgresql.util.PSQLException: 오류: "<테이블 이름>" 테이블에 대한 삽입 또는 업데이트가 외래 키 제약 조건 "<키 이름>"을 위반합니다.)
  Detail: Key <identifier> is not present in table "<table name>"."(세부 정보: <식별자> 키가 "<테이블 이름>" 테이블에 없습니다.)

위에 언급된 오류에서 system_users와 같은 다른 테이블을 대신 참조할 수도 있습니다. 이와 유사한 오류가 발견되면 사용자 또는 일정 매핑 파일에 잘못된 매핑 내용이 포함되어 있을 가능성이 매우 큽니다.
매핑 파일의 정확성을 100% 확신하려면 Tableau Desktop을 사용하여 PostgreSQL 리포지토리에 조인하는 것이 좋습니다(아래 설명 참조).

 
추가 자원
이 항목에 대한 자세한 내용은 Tableau 커뮤니티에서 사이트 마이그레이션을 사용하여 Tableau Server를 로컬 인증에서 Active Directory로 마이그레이션하는 방법(영문)을 참조하십시오. 이 문서에는 오류 메시지에 대한 전체 세부 정보와 해결 방법이 포함되어 있습니다.
"단일 ... 매핑이 잘못된 경우에도 전체 가져오기가 실패합니다. 수동으로 정확하게 확인하기 어려운 수백 또는 수천 개의 사용자 매핑이 있는 시스템의 경우 Tableau Desktop을 활용하여 매핑 파일의 정확성을 컴퓨터로 확인하는 것이 가장 좋습니다. (가져오는 데 많은 시간이 걸리는 대규모 사이트의 경우 이 단계를 수행하면 마지막에 가져오기가 실패할 경우 낭비되는 시간을 절약할 수 있습니다.) mappingsSystemUserNameMapper.csv가 준비되었다고 생각되면 Tableau Desktop의 CSV 데이터 원본 방법을 사용하여 이 파일에 연결하고 대상 시스템의 PostgreSQL 리포지토리, 특히 매핑된 각 Active Directory 사용자에 대한 항목을 포함할 system_users 테이블에 이 파일을 조인합니다. mappingsSystemUserNameMapper.csv와 system_users 사이에 Left Outer 조인을 설정하고 이를 사용하여 들어오는 각 로컬 사용자의 Target Name 열에 system_users와 일치하는 유효한 Active Direcotry 계정 이름이 있는지 확인하는 새 시트를 만듭니다."
 
Knowledge 기사 번호

001472270

 
로드 중
Salesforce Help | Article