2009-06-12 2 views
0

ACCESS 데이터베이스에서 나에게 발송 된 SQL 데이터베이스에 대한 월별 데이터 업데이트를 수신하면이 패턴 다음에 약 30 개의 테이블이 있으며 가장 큰 테이블에는 약 40,000 개의 행이 있습니다.프로그래밍 방식으로 SSIS를 사용하여 SQL Server에 MS Access 테이블을 만드는 방법은 무엇입니까?

CREATE TABLE [dbo].[TABLE_NAME_HERE] (
[title] nvarchar (255) NULL, 
[classification1] nvarchar (255) NULL, 
[classification2] nvarchar (255) NULL, 
[1986] float NULL, 
[1987] float NULL, 
[1988] float NULL, 
[1989] float NULL, 
[1990] float NULL, 
[1991] float NULL, 
[1992] float NULL, 
[1993] float NULL, 
[1994] float NULL, 
[1995] float NULL, 
[1996] float NULL, 
[1997] float NULL, 
[1998] float NULL, 
[1999] float NULL, 
[2000] float NULL, 
[2001] float NULL, 
[2002] float NULL, 
[2003] float NULL, 
[2004] float NULL, 
[2005] float NULL, 
[2006] float NULL, 
[2007] float NULL, 
[2008] float NULL, 
[2009] float NULL, 
[2010] float NULL, 
[2011] float NULL, 
[2012] float NULL, 
[2013] float NULL, 
[2014] float NULL, 
[2015] float NULL, 
[2016] float NULL, 
[2017] float NULL, 
[2018] float NULL, 
[2019] float NULL, 
[2020] float NULL, 
[2021] float NULL, 
[2022] float NULL, 
[2023] float NULL, 
[2024] float NULL, 
[2025] float NULL) 

우리는 현재 그러나 모든 너무 자주 이러한 테이블을 uploades DTSX 패키지가 (연간)가 다른 열을 추가하고, DTSX 패키지 코딩 harded 열 세부 사항이 있습니다.

우리는이 데이터를 저장하는 더 좋은 방법이 많다는 데 동의하지만, 응용 프로그램을 다시 프로그래밍 할 시간이나 예산이 없습니다.

DTSX 패키지를 자동으로 DROP SQL 서버에 테이블을 만들고, ACCESS 데이터베이스와 일치하는 테이블을 만들고 데이터를 업로드하고 싶습니다.

이것이 가능합니까?

답변

0

테이블 구조를 변경하는 옵션입니까? 예를 들어 연도라는 열과 값이라는 열이있는 자식 테이블이있는 경우 연도별로 새 열을 계속 추가 할 필요가 없습니다. 열 이름이 아닌 테이블 행에 데이터를 저장하는 것이 좋습니다.

예를 들어 MS-Acceess VBA에서 ADOX를 사용하여 Access 테이블의 Fields Collection을 반복하고 SQL Server에서 새 테이블을 만들 수도 있습니다. 코드는 in this link과 같지만 SQL Server 연결 등으로 작동하려면 변경해야합니다.

+0

테이블 구조를 변경하는 옵션 (시간/예산)이 없습니다. 이는 기존의 응용 프로그램을 지원하는 경우입니다. 업로드를 할 때 몇 시간 만 절약하려고합니다. – StocksR

0

DTS의 옵션 중 하나는 가져올 때 새 테이블을 만드는 것입니다. 그러나 이전 게시물에서 제안한 바와 같이 일반적으로 문제의 원인을 검토해야하며 테이블을 변경해야 할 필요는 없습니다. 새로운 컬럼이있을 때, 새로운 컬럼이 완전히 쓸모 없다면, 어쨌든 프로그램의 코드를 변경해야합니다. 이 경우 가져 오기 전에 열을 드롭하면 다시 괜찮습니다. 열이 유용하다면 어떻게 참조 할 코드를 작성하지 않고 그것을 사용할 것인가? (테이블의 생성/가져 오기 이후) ???

+0

가져올 때 새 테이블을 만들려면이 옵션에 대한 deatils를 더 제공 할 수 있습니까? 해당 옵션을 찾을 수 없습니다. – StocksR

+0

열이 사용됩니다 - dynamicaly 생성 된 SQL 문장을 통해 액세스되는 simular 구조를 가진 많은 테이블이 있습니다 (사용자가 메뉴에서 관심있는 연도를 선택 함) - BTW -이 글을 쓰지 않았습니다. 기존 응용 프로그램을 지원하고, 필자가 인증을 작성한 경우 certianly이 방법으로 구축하지 않았을 것입니다. – StocksR

관련 문제