2010-07-07 3 views
2

최근 사이트를 Superb.net에서 MediaTemple로 마이그레이션했습니다. 이 사이트의 유지 보수 부분은 mySQL으로 가져 오는 Raiser 's Edge의 60000+ 레코드 내보내기 (3 CSV)입니다.CSV 가져 오기 문제. 다른 서버에서 가져 오기 오류가 발생하거나 성공했습니다.

테이블은 이동 전후에 동일한 스키마를 유지했습니다. 이번 주에 수입품을 사러 갔을 때 각 CSV가 잘못된 필드 수 오류로 수천 줄의 데이터가 잘못되었음을 발견했습니다. 하나의 경우에 오류는 데이터에 12000 개가 넘는 행이 발생합니다.

#, after 및 row 자체 앞에 각 오류에 대해 3 개의 행을 검사했습니다. 그들은 잘 보인다. 그들은 인용 된 가치가없고, 나쁜 성격도없고, 내가 잘못 볼 수있는 것도 없습니다. 그들은 정확한 숫자의 필드를 가지고 있습니다. 전체 파일에는 인용 된 값이 없습니다. UltraEdit 텍스트 편집기에서이를 확인했습니다. 데이터에는 쉼표가 없습니다.

mysqlimport와 LOAD DATA INFILE 쿼리를 사용하여 가져 오기를 시도한 후 두 가지 모두를 찾지 못하면 MediaTemple에게 연락을 취해서 미안하지만 둘 다 사용할 수 없다고 말했습니다. 우리의 전용 가상 서버에서 mysql을 업그레이드 할 수 있지만 문제는 그 자체가 아닙니다. MediaTemple은 이것이 mySQL의 버전 문제라고 말했습니다.

그래서 나는 CSV를 가져 와서 오래된 서버와 lo에서 가져 오기를 시도했고 잘 보았다. 나는 기존 서버 (최상급)에서 mySQL 버전을 모르지만 phpMyAdmin 2.11.8.1을 실행합니다.

MediaTemple은 readline 5.0과 phpMyAdmin 2.8.2.4를 사용하여 redhat-linux-gnu (i686) 용 mysql 버전 14.12 Distrib 5.0.45를 실행 중입니다.

이 벨소리가 울리나요? 누구에게나 이해가 되니? 어떤 충고?

답변

0

결국 나는 현재 버전의 phpMyAdmin을 설치해야한다는 것을 깨닫지 못해 매우 어둡습니다. 업 그레 이드로 인해 더 이상 인위적인 문제없이 수입 문제가 해결되었으므로 결국 버전 버그로 끝났습니다.

0

'답변'범주에 속하지 않을 수도 있지만 여기에는 2 센트입니다. 솔직히 말해서, 나는 당신의 문제를 인식하지 못하고 어떤 합리적인 설명도 생각할 수 없습니다.

하지만 문제를 해결하고이 게시물을 입력하는 데 걸리는 시간은 가져 오기를 수행하는 일종의 shell/perl/php 스크립트를 쓰는 것이 더 낫지 않습니까? 물론 빠른 속도는 아니지만 이봐, 우리는 여기서 60K 기록을 말하고있다.

+0

내 놀람을 확인해 주셔서 감사합니다. 심지어 쉼표 구분 기호를 세미콜론으로 바꾸려고 시도해 보았지만 같은 성공과 실패를 얻었습니다. – jerrygarciuh