2014-10-19 4 views
2

그래서 CSV 파일을 가져 오는 데 시간이 많이 걸리고 있습니다. 궁극적 인 목표는 파일을 가져 오기 위해 반복 가능한 프로세스를 만드는 것입니다. 필자가 파일을 가져올 수 있었던 유일한 방법은 MS Access (Access로 가져 오기, SQL Server로 내보내기)를 사용하는 로터리 방식입니다.이 파일은 행복하고 즐겁게 문제없이 실행됩니다.SQL Server 가져 오기 및 내보내기 마법사 (SQL Server Express)

물론 SQL Server (Express 또는 기타)도 가져올 수 있어야합니다. 특히 http://ourairports.com/data/과 :

파일은 여기에 야생에서 밖으로 http://ourairports.com/data/airports.csv

그것은 (실제 데이터)로 재생하도록 설정 좋은 자료이며, 내가 SSRS 무엇으로 그것을 가져, 그것을 정상화 디자인이 대체로 장래 고용주를 '보여줄'것을 배우고 가질 수있는 것이지요.

하지만 오류없이 파일을 가져 오면 저주받을 것입니다. 이상적으로 열은 적절하게 가져오고 변환합니다. 즉 숫자 인 열은 Int 또는 가장 적절한 것으로 정의 된 표로 끝나야합니다.

내가보고하고 가장 흔한 오류는 다음과 같습니다

Data conversion failed. The data conversion for column "wikipedia_link" returned status value 4 and status text "Text was truncated or one or more characters had no match in the target code page." 

은 이상적으로는 T-SQL 및 대량 삽입을 통해 파일을 가져올하지만 비슷한 문제가있을 것입니다.

누군가가 방황하고 무슨 일이 일어 났는지 생각해 본다면, 이상적으로 나는 무언가를 배우고 빠른 대답을 찾지 않을 것입니다. 물론 나는 체크 박스를 잊어 버리는 것처럼 어리석은 짓을하지 않는 한 말입니다.

감사합니다.

+0

GAH를! 이걸로 운이 없어. – Steve

답변

0

와우, 여기에 무슨 일이 있었는지 알아 내려고 잠시만!

기본적으로 SQL은 매핑을보고 테이블의 열의 데이터 유형을 csv의 처음 몇 행과 비교하기 때문에 유효성 검사 단계를 통과합니다. (내가 믿는 상위 8 행)

이 경우 상위 8 개 행은 모두 비어 있습니다. 검사 할 데이터가 없기 때문에 SQL에 문제가 없습니다.

그런 다음 가져 오기로 이동하고 SQL이 링크 (행 41)가있는 첫 번째 행에 도달하면 유효성 검사가 중단됩니다.

불행히도 열의 데이터 유형을 변경하고 작동 할 것으로 기대할 수 없습니다. (감사합니다 마이크로 소프트!)

여기 해결책 중 하나는 위키 링크가 포함 된 행을 스프레드 시트의 맨 위로 가져와 다시 가져 오는 것입니다.

편집

AHHA! 진짜 해결책! 유효성을 검사하는 행의 양을 설정하는 레지스트리 키 변경이 있습니다. 이것을 0으로 변경하면 검사기가 상위 16,000 개의 행을 조사합니다.

당신은 제로에 다음 레지스트리 키를 변경해야

32 Bit Machine: 
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Excel\TypeGuessRows 

64 Bit Machine: 
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Jet\4.0\Engines\Excel\TypeGuessRows 
+0

PS. 향후 질문은 코드와 관련되어야합니다. – KidCode

+0

감사합니다.이 파일은 실제로 웹 사이트에서 다운로드 한 "있는 그대로"Excel에서 열립니다. MS Access는 또한 충분히 행복하게 가져 와서 SQL Server로 성공적으로 내보낼 수 있습니다. 그러나 SQL Server 자체는 그대로 가져 오지 않으므로 가져 오기 전에 CSV를 정렬하면 복구 할 수없는 오류가 발생하는 행만 변경됩니다. – Steve

+0

나는 부분적으로 대량 가져 오기 (T-SQL)를 사용하여 반복 가능한 프로세스를 생성하기 위해 궁극적으로 코드 전용 솔루션을 살펴볼 것입니다. – Steve

관련 문제