2012-11-28 3 views
2

ftp를 통해 알려진 폴더의 xyz.mdb 파일을 다운로드하는 .bat 파일이 있습니다.SQL Server 2005의 자동 및 예약 가져 오기 mdb

이 액세스 데이터베이스에는 이름이 매달 달라질 수있는 테이블이 있습니다.

예약 된 작업을 통해 bat 파일을 시작한 다음 SQL Server에서 xyz.mdb를 특정 데이터베이스로 가져와야합니다. 삭제하고 다시 만들 수 있습니다.

제안 사항? 나는 ssis에별로 좋지 않다.

답변

0

BAT 파일 대신 WinSCP 또는 유사 FTP 다운로드를 사용하십시오. 프로세스 실행 태스크를 사용하여 프로세스를 호출하고 성공 또는 실패를 기준으로 프로세스 흐름을 제어 할 수 있습니다. 성공하면 For Each 루프 컨테이너를 추가하고 "알려진 폴더"에서 각 파일 이름을 변수에 지정합니다. 그런 다음 루프 내에서 각 Access DB에서 읽는 데이터 흐름 태스크를 추가 할 수 있습니다.

첫 번째 까다로운 부분은 연결 정의입니다. 표현식을 사용하여 연결 문자열을 생성해야합니다. 수동으로 생성 한 파일에서 시작하여 파일 이름에 Variable을 사용하여 표현식에 파일을 다시 작성하십시오.

두 번째 까다로운 부분은 연결 스택입니다. Access Database Engine 2010은 64 비트에서 OLE DB를 제공하지만 기괴하게도 한 번에 하나의 맛, 64 비트 또는 32 비트에서만 작동합니다. 이로 인해 64 비트 시스템에서도 많은 혼란이 발생합니다. BIDS는 항상 32 비트입니다.

대신 ODBC 드라이버를 사용하기 시작했습니다. 마이크로 소프트는 이미 OLE DB가 향후에 더 이상 사용되지 않을 것이고 ODBC는 (클라우드에 맞게) 갈 길이라고 명시했습니다. 모든 최신 Windows OS에는 32 비트 용 Access ODBC 드라이버가 제공되며 64 비트 용 Access Database Engine 2010을 설치하고 64 비트 ODBC 드라이버를 얻을 수 있습니다.

+0

마이크, 미안하지만 "Execute Process Task"로 WinSCP를 실행하는 액세스 파일을 다운로드하는 데 유감스럽게 생각합니다. 박쥐는 WinSCP의 스크립트 만 실행합니다. 이번 주에 나는 다음 단계를 시도해 보았습니다. 어떻게 진행되었는지 알려 드리겠습니다. – Pomp