2012-04-26 4 views
0

저는 SQL Server가 새로 도입되었습니다.txt 파일에서 SQL Server 테이블로 데이터를 가져 오는 기능

20120101;001;2;0;0;0;0;0;8 
20120102;002;3;0;0;0;0;0;8 
20120103;003;4;0;0;0;0;0;8 
... 

이 파일은 서버에 내가 변경 사항을 같은 시간 autommaticaly에서이 파일을 매일 가져오고 업데이트해야합니다 (파일이 변경입니다 : 나는 다음과 같이 구분 된 값으로 .txt 파일을 가지고있다 매일). 나는 그것을 할 수있는 함수를 만드는 것을 생각하고 있었지만 그것이 가능할 지 모르겠습니다.

도움을 주시면 감사하겠습니다. 미리 감사드립니다.

답변

3
insert into your_table 
    SELECT a.* 
    FROM OPENROWSET(BULK 'c:\input.csv', FORMATFILE = 'c:\Format.fmt') AS a; 

Exaample Format.fmt

9.0 
6 
1  SQLCHAR  0  15 ";"  1  col1  SQL_Latin1_General_CP1_CI_AS 
2  SQLCHAR  0  25 ";"  2  col2  SQL_Latin1_General_CP1_CI_AS 
3  SQLCHAR  0  6 ";"  3  col3  SQL_Latin1_General_CP1_CI_AS 
4  SQLCHAR  0  5 ";"  4  col4  SQL_Latin1_General_CP1_CI_AS 
5  SQLCHAR  0  15 ";"  5  col5  SQL_Latin1_General_CP1_CI_AS 
6  SQLCHAR  0  100 "\r\n" 6  col6  SQL_Latin1_General_CP1_CI_AS 
+0

txt 파일에서이 작업을 수행 할 수 있습니까? CSV로 변환하지 않고? – andoni90

+0

@koneX : 예. 그것은 단지 예일뿐입니다. –

2

당신은 SQL Server 통합 서비스 (SSIS)를 사용할 수은 일정에 따라 플랫 파일을 가져옵니다.

다음은 주어진 폴더에서 동일한 형식의 모든 CSV 파일을 반복하여 데이터베이스에로드하는 예제입니다. 대답에 따라

Validate CSV file Data before import into SQL Server table in SSIS?

는 SQL Server 에이전트 작업 내부에서 실행하는 SSIS 패키지를 예약하는 방법을 보여줍니다 여기에

How do I move files to an archive folder after the files have been processed?

는 또 다른 예이다. 당신에게 아이디어를 제공

How do I create a step in my SQL Server Agent Job which will run my SSIS package?

희망.

관련 문제