2012-01-18 5 views
2

텍스트 파일의 일부 데이터를 Visual Studio 프로젝트의 SQL 데이터베이스로 가져 오려고합니다. 모든 열이 날짜 열에서 올바르게 가져와졌습니다. 내가 등 02-02-12, 03-02-12, 같은 날짜가 있지만 데이터베이스에 모든 행이 01로 설정되어있는 텍스트 파일에서txt 파일에서 SQL 데이터베이스로 데이터 가져 오기

BULK INSERT T2 FROM 'c:\Temp\Data.txt' WITH (FIELDTERMINATOR = ',') 

: 나는 데이터를 가져 오려면 다음 명령을 사용하여/01/1900 날짜 형식이 SQL 데이터베이스와 비교하여 텍스트 파일에서 다르기 때문에이 문제가 발생할 수 있다고 생각했습니다. 데이터베이스에 내 날짜를 가져올 수있는 사람이 누구인지 알고 있습니까?

감사

+0

대량 삽입을 날짜에 대해 꽤 까다 롭습니다. 날짜 형식을 mm/dd/yyyy로 변경하면 어떻게됩니까? (날짜 부분을 분리하려면 -를 사용하십시오). 그래도 작동하지만 데이터 파일을 업데이트하는 것이 얼마나 힘든지? 데이터 @Sparky – Sparky

+0

텍스트 파일 내에서, 그리고 내가 잘 – Blob

+0

:-(수동으로 2,000 선을 통해 변경해야 할 것입니다, 당신은 CSV 데이터를 가지고 ... 형식으로 날짜를 포맷 후 엑셀에서 CSV 파일로 열고 당신은 필요합니다 ... – maneesha

답변

1

나는 2008R2에서 예를 사용하여 동일한 문제로 실행합니다. 오류는 없지만 모두 1900-01-01로 설정됩니다. DATE 필드를 채우는 데 사용되는 경우 bcp에서 문제가되는 것 같습니다. 그것은이 방식으로 동작

그래서 당신이 날짜 형식을 사용하는 경우, 날짜 시간 또는 smalldatetime으로로 변경 (모두 나를 위해 일한)과 도움이 있는지 날짜 열 유형. dateformat을 설정하여 일, 월 및 년을 올바르게 읽을 수 있도록하십시오. 나는 그것을 하나 개의 보고서를 찾을 수 있었다

set dateformat dmy 
BULK INSERT T2 FROM 'c:\Temp\Data.txt' WITH (FIELDTERMINATOR = ',') 

,하지만 확실한 대답은 왜 이런 일이 발생하지 않습니다 : 그것은 (텍스트 파일) 일 - 월 - 년이면 이 있어야한다 similar case reported here

+0

MS 데이터베이스의 활성 버그로 발견 : [링크] (https://connect.microsoft.com/SQLServer/feedback/details/526074/owner) – wmz

+0

그 명령은 완벽하게 작동하지만 지금은 궁금해합니다. SQL에 가져올 열이 없기를 요청합니까? 예를 들어 쉼표로 구분 된 6 열의 데이터가 있는데 1,2,4,5 열만 가져올 수 있습니까? – Blob

+0

@ user1091114 형식 파일을 사용해야합니다. 링크] (http://msdn.microsoft.com/en-us/library/ms187908. aspx) – wmz

관련 문제