2009-06-22 2 views
1

일부 SQL Server 2005 데이터베이스를 SQL Server 2008로 포팅하는 중입니다.이 데이터베이스 중 하나에는 SSISDTS 패키지를 사용하여 MS Access 데이터베이스에서 큰 데이터 집합을 가져 오는 관련 가져 오기 응용 프로그램 (Windows 작업)이 있습니다. 밤마다.SQL Server의 자동화 된 데이터 가져 오기 방법은 무엇입니까?

SQL Server 2008로 업그레이드 할 때 SQL Server 2008에서 누락 된 manageddts DLL로 인해 가져 오기를 수행 한 콘솔 응용 프로그램을 실행할 수 없음을 발견했습니다. 몇 년 전부터 다시 작성해야합니다 여러 가지 이유로, 나는 DTS에 상당히 불만을 나타 냈습니다. DTS가 선택된 원래 이유는 속도 (ADO.NET의 경우 30+와 비교하여 5 분의 가져 오기 시간) 때문이었습니다.

가져올 데이터의 형식이 사용자가 제어 할 수 없습니다 (클라이언트는 Access를 좋아합니다). 또한 SQL Server를 호스팅하는 서버와 완전히 별도의 컴퓨터에서 가져 오기를 실행할 수 있고 최소한의 SQL 기능을 설치하는 것이 좋습니다.

옵션은 내가 생각했습니다

  • 이 두 데이터베이스 (SQL Server 및 Access)에 연결하고 가져 오기를 수행하기 위해 Access 응용 프로그램을 만들기
  • 가 있는지 확인하기 위해 ADO.NET을 다시 방문 (헉!) 원래 구현은 잘못 작성되었습니다.
  • SSIS 패키지가 업데이트되었습니다.

이 작업을 위해 다른 기술을 고려해야합니까?

+0

왜 그의 접근을 위해 액세스를 즉시 거부합니까? 그것은 방정식의 양 측면을 이해합니다. 싫어하는게 뭐야? –

+0

VBA 빨기. 나는 해결책을 찾은 것 같아. 나는 아래에서 언급 할 것이다. – Joel

+0

@Joel : 나는 왜 2005 년 솔루션이 2008 년에 작동하지 않는지 알아 내야 할 필요가 있다고 생각합니다. SQL Server 2005 SSIS 솔루션은 SQL Server 2008에서 전혀 문제없이 작동해야합니다. 존재하지 않는 문제에 대한 해결책을 찾고있을 수 있습니다. –

답변

1

ADO.NET을 사용하여 .mdb 파일을 여러 개의 플랫 파일로 변환 한 다음 tsql의 대량 삽입 문을 사용하여 플랫 파일을 가져올 것을 제안 받았습니다. 작동하는 경우이를 답변으로 표시합니다.

는 편집 :

이것은 정말 잘했다. 이전 DTS보다 훨씬 빠릅니다. 한 가지 단점은 가져 오기 사용자가 bulkadmin 권한을 가져야하며 플랫 파일의 스키마가 테이블과 정확하게 일치해야하지만 약간의 코딩으로 후자가 해결되고 안전하고 전용 된 사용자 계정이 전자에 응답하는 것입니다.

결과에 상당히 만족합니다.

0

SSIS를 사용해보십시오. 당신이 그것의 그것을 충분히 알지 않으면, 당신은 새로운 것을 배울 것입니다.

관련 문제