2012-12-06 2 views
2

11,000,000 개의 레코드가있는 Access 데이터베이스가 있습니다.이 레코드를 Upsize 도구를 사용하여 Sqlserver 2008의 동일한 테이블로 전송하려고합니다. 이 도구는 데이터베이스와 테이블을 올바르게 작성하지만 SQL Server의 테이블은 비어 있고 데이터는 전송되지 않습니다.Upsize to Sqlserver는 데이터를 전송하지 않습니다.

답변

3

오류 메시지가 표시되는 것을 언급하지 않았으므로 새로운 SQL Server 테이블의 필드 형식을 확인하여 해당 액세스 권한과 호환되는지 확인하십시오.

확인되면 Access를 시작하고 SQL Server 테이블에 대한 ODBC 링크를 만듭니다. 그런 다음 액세스 "추가 쿼리"를 만들어 Access 테이블의 데이터를 SQL Server 테이블에 추가합니다.

INSERT INTO remote_table (field1, field2, field3) 
SELECT field1, field2, field3 
FROM local_table 
WHERE date_field >= #2012-01-01# AND date_field < #2012-02-01#; 

주 전 1100 만 행의 합리적 작은 하위 집합에 행의 수를 제한하는 WHERE 절을 상상. 상황에 따라 필요에 따라 조정하십시오.

INSERT이 성공한 경우 다른 WHERE 조건으로이 작업을 반복하여 모든 데이터가 전송 될 때까지 SQL Server에 데이터 청크를 추가하십시오.

오류가 발생하면 이유를 설명하는 오류 메시지가 표시됩니다.

+0

의 "를 만드는 방법 SQL Server 테이블에 ODBC 연결 "및"추가 쿼리 "? – AmirHossein

+1

SQL Server 데이터베이스에 대한 DSN을 만듭니다. Access 2007에서 "외부 데이터"를 선택하고 "추가"드롭 다운에서 "ODBC 데이터베이스"를 선택하십시오. 그런 다음 "Get External Data"대화 상자의 Link 라디오 버튼을 선택하고 "Select Data Source"대화 상자에서 DSN을 선택한 다음 "Import Objects"대화 상자에서 SQL Server 테이블을 선택하십시오. – HansUp

+1

추가 쿼리의 경우 로컬 테이블을 데이터 원본으로 사용하여 새 Access 쿼리로 시작하십시오. 서버에 업로드 할 필드를 선택한 다음 쿼리 유형을 "추가"로 변경하고 연결된 테이블을 대상으로 선택하십시오. – HansUp

1

대부분의 경우 여기에 언급 된 것처럼 나쁜 날짜이거나 실패한 경우 SQL 서버 외부의 날짜입니다. 내장 된 도구와 달리 Access 마이그레이션 도구를 사용하는 것이 좋습니다. 그것은 훨씬 더 잘합니다.

현재이 유틸리티를 찾을 수

:

http://www.microsoft.com/en-us/download/details.aspx?id=28763

을 위의 업 사이징 툴에 내장 된 것보다 업로드 훨씬 더 나은 데이터를 방지 날짜와 다른 문제를 처리하는 경향이

관련 문제