2013-07-29 2 views
0

ketle을 사용하여 mongodb 테이블에서 mysql 테이블로 로딩 중입니다. 4.4 일부 행에서 열 중 하나가 오류를 발생시킵니다. 잘못된 문자열 값 : 열에 '\ xF0 \ x9F \ x98 \ x8D'. 일부 포럼을 확인하고 utf8mb4_general_ci 열을 수정했지만 여전히 동일한 오류가 발생합니다.삽입 오류를 무시합니다.

테이블에 12 lakhs + 레코드가 있으며 어떤 행에서 오류가 발생하는지 식별 할 수 없습니다. 테이블에는 object id 인 _id가 있습니다. _id 열에 의해 주문을로드하려고했는데 오류가 발생하여 멈췄을 때 이전로드에서 max (_id)를로드하려고했습니다. 이것은 중복을 제공하고 어떤 행이 오류를 제공하는지 식별 할 수 없습니다.

1) 오류가 발생한 행을 식별하거나이 오류를 해결하는 방법이 있습니까?

2) 표 출력 단계에는 insert ignore errors라는 옵션이 있으며,이를 검사하고 실행을 시도합니다. 이제 오류는 나타나지 않지만 주전자에 표시됩니다. 1192628로 작성된 레코드는 있지만 테이블에는 1192626 레코드 만 있습니다. 2 레코드가 누락되었습니다. 삽입 오류 무시 옵션은 오류가있는 행을 무시합니까? 그렇다면이 오류는 어디에 기록됩니까? 일부 문서를 읽으려고했으나 아무도이 정보가 없습니다.

누구든지 나를 도울 수 있다면 좋을 것입니다.

은 자주 당신이 원하는대로 부하를 다시 실행할 수있는 것 같습니다 귀하의 경우에는, Deepthi

답변

2

을 주셔서 감사합니다. Table Output 단계에서 '삽입 오류 무시'를 선택하면됩니다. 오류는 무시되고 기록되지 않습니다.

귀하의 경우에 '내가 오류 삽입 무시'를 선택 취소하고 Table Output의 오류 출력을 연결하고 텍스트 파일이나 XML 파일 또는 다른 테이블 출력으로 실행하십시오. 로드를 재실행하면 오류를 일으키는 두 행이 오류 출력에있게됩니다.

+0

도움 주셔서 감사합니다 .. 오류에 대한 해결책 잘못된 문자열 값 : '\ xF0 \ x9F \ x98 \ x8D'에 대한 열.? – Deepthi

+0

Jipipayo 님의 댓글보기 작동합니까? –

0

이진 데이터를 얻는 것 같습니다. 문자열로 변환 해보십시오. db 테이블 출력의로드 전에 값을 새로 선택하거나 이름을 변경하십시오. 선택/이름 바꾸기 단계를 클릭하고 메타 데이터 탭으로 이동하여 입력 필드를 선택합니다. 문자열, 이진에서 일반 : Y, 인코딩 : UTF-8 (내 경우) 십자가!

+0

감사합니다. – Deepthi