2009-07-16 1 views
1

SQL Server 데이터베이스로 로그 파일을 가져와야합니다. 파일 크기가 커서 약 6MB이고 40000 줄입니다. 가져 오기 작업은 매일 로그로 매일 수행해야합니다. 로그 파일의 각 행에는 많은 필드가 들어 있는데, 나는 후 처리를 위해 데이터베이스의 적절한 열로 가져와야합니다. 나는 다음 솔루션을 혼동합니다.텍스트 파일에서 SQL Server 데이터베이스로 가져올 때 어떤 솔루션을 선택해야합니까?

-이를 수행하려면 SQL Server Integration Services를 사용하십시오.

-Write 대량 복사

를 사용하여 C#을 애플 리케이션 나는 (SQL Server 및 .NET 프레임 워크) 솔루션을 선택하는 것이 상대적으로 무료입니다. 어떤 해결책이 더 좋습니까? 아니면 다른 제안을 제안 할 수 있습니다.

대단히 감사합니다.

// 편집 : SSIS를 시도하고 정말 간단하다는 것을 알았습니다. 하지만 매일, 로그 파일을받은 후, 내 프로그램은 자동으로 데이터베이스로 가져와야합니다. 어떻게해야합니까?

+0

예약 방법에 대한 답변이 업데이트되었습니다. – NikolaiDante

답변

2

이렇게하려면 SSIS 패키지를 작성합니다.

가져 오기/내보내기 마법사를 사용하여 패키지의 시작을 생성하고 정확한 요구에 맞게 패키지를 적용 할 수 있습니다.

SQL 2005에서이 작업을 수행하려면 SQL Management Studio의 개체 탐색기에서 데이터베이스를 마우스 오른쪽 단추로 클릭하고 작업> 데이터 가져 오기로 이동 한 다음 마법사를 끝내고 패키지를 저장하도록 선택합니다.

SQL 2008에서 비슷한 프로세스라고 상상해 봅니다. 그러나 저는 그렇게 할 필요가 없습니다.

패키지를 저장 한 후에는 SQL Server 에이전트를 사용하여 예약 할 수 있습니다. 작업을 설정할 때 "SQL Server Integraton Services Package"를 유형으로 선택하고 패키지를 선택하십시오.

+0

당신은 이것에 대한 간단한 예를 들어 줄 수 있습니까? :) – Vimvq1987

+0

대답을 – NikolaiDante

+0

업데이트했습니다. 정말 도움이됩니다. 그러나 나는 아직도 문제가있다. 로그 파일 이름이 매일 (20090705와 같은 형식이 지정된 양식으로) 변경되었습니다. 아직 해결 방법을 알지 못했습니다. 너 나 좀 도와 줄 수있어? – Vimvq1987

1

아마도 로그 파일을 로그 파일 문자열을 삽입 한 다음 SQL 덤프를 데이터베이스에로드하는 SQL 덤프로 변환하는 스크립트를 작성할 것입니다.

+0

이것이 내가 생각한 첫번째 일이었습니다. 스크립트를 작성하고 예약하십시오. 어쩌면 내가 Integration Services를 사용한 적이 없었기 때문에 ... 그것에 대해 읽을 시간이 아닙니다. – Jonathan

1

6메가바이트 실제로 :)

SQL Server 통합 서비스가 작업까지보다 꽤 작다. BULK COPY는 특히 이것을 처음 접하는 사람들에게 매우 빠르게 복잡해질 수 있습니다. 세 번째 옵션으로 INSERT를 수행하는 자체 프로그램을 작성할 수 있지만 다시 SSIS가 작성된 프로그램이므로 그대로 사용하십시오.

관련 문제