2014-11-05 2 views
0

Excel 파일의 데이터를 SQL Server에 추가하려고했습니다. 완전히 새로운 테이블로 가져올 수는 있지만 인덱스를 다시 지정해야한다는 의미입니다. 기존 테이블로 가져올 수 있습니까?Excel에서 SQL Server로 데이터 가져 오기

나는이 유사 another question을보고, 나는 From this diagram

내가 다음 쿼리를 입력 한 '데이터 전송을 지정하는 쿼리를 작성'을 클릭,이 제안이 있었는지 시도

INSERT INTO Customer (Customer_Id, Customer_Name, Customer_Company, Address, Phone) 
    SELECT 
     A.[Column1], A.[Column2], A.[Column3], A.[Column4], A.[Column5] 
    FROM 
     OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;Database=D:\Excel.xls;HDR=YES', 'select * from [Sheet1$]') AS A; 

두 번째 부분의 구문을 이해하지 못하고 FROM 절에 구문 오류가 발생합니다.

실마리가 있습니까?

+1

SSIS 사용을 고려 했습니까? 이 방법으로 Excel 스프레드 시트를 가져오고 SQL 쿼리를 작성하는 것보다 훨씬 쉽습니다. –

+0

@greg 이전에는 사용하지 않으려 고 생각하지 않았습니다. 이후로 나는 전체 데이터베이스를 다시 만들 수있는 방법을 찾지 못했습니다. :/ – Tsar

답변

2

하나의 가져 오기를 위해 Excel에서 데이터를 가져 오는 가장 간단한 방법은 질문의 그림과 같이 SQL Server 가져 오기 및 내보내기 마법사를 사용하는 것입니다. Microsoft Excel을 데이터 소스로 선택하고 스프레드 시트의 파일 경로를 지정하고 첫 번째 행에 열 머리글이 포함되는지 여부를 지정해야합니다. 그런 다음 대상 SQL Server 및 데이터베이스를 지정하십시오.

다이어그램에서 선택한 옵션 - "하나 이상의 테이블 또는 뷰에서 데이터 복사"에서 다른 옵션을 선택하십시오. 그런 다음 스프레드 시트에서 임포트하려는 워크 시트를 선택하고 데이터를 넣을 목표 테이블을 지정할 수 있습니다. 중요한 것은 스프레드 시트의 데이터가 테이블의 올바른 열 (기존 테이블 또는 새 테이블)에 들어가도록 매핑을 편집 할 수 있다는 것입니다. 뒤에서 마법사는 질문에 비슷한 스크립트를 생성하지만 제대로 설정하면 걱정할 필요가 없습니다.

메모리에서 SSIS 패키지로 변환 할 수도 있으므로 반복 가능한 프로세스입니다.

+0

질문에서 언급했듯이 질문은 내가 excel 파일을 _existing_ 테이블로 가져올 수 있는지 아닌지에 대한 것입니다. 지금은 "하나 이상의 테이블 또는 뷰에서 데이터 복사"를 선택했습니다. 이는 나중에 새 테이블로 데이터를 가져와야한다는 것을 의미합니다.이 테이블은 나중에 외래 키와 다른 인덱스를 편집하고 삽입해야했습니다. 문제는 '데이터 전송을 지정하는 쿼리 작성'에 관한 것입니다. 나는 이전의 것들에 대한 온라인 자습서를 찾았지만 찾고자하는 사람은 찾지 못했습니다 ... – Tsar

+0

예,이 방법을 사용하여 기존 테이블로 확실히 가져올 수 있습니다. 고려해야 할 사항은 다음과 같습니다. 1. 데이터 유형이 스프레드 시트에서 테이블 과 일치하는지 확인합니다. 2. 테이블에있는 기본 키 고려. –

+0

데이터 이름 (파일의 상단 행과 db의 열 이름이 일치 함)이 일치하는지 확인했습니다. 하지만 데이터 유형이 맞지 않았을 수 있습니다. 기본 키에 "1001"과 같은 값이 삽입되었습니다. DB는 그것을 float (내가 고심하게 그것을 다시 한 번했을 때)로 집어 들었다. 여기서 나는 varchar로 테이블에 그것을 선언했다. 문제가되었을 수도 있습니다. 그러나 문법 오류에 대한 설명이 나와 있지 않습니다. (질문에) – Tsar

2

SQL Server에서 셀의 Excel을 복사하여 붙여 넣기 만하면됩니다. : DD

나는 당신과 똑같은 문제에 직면 할 때 이것을보고 있습니다.

내가 무슨 짓을 :

내가 엑셀에서 내 데이터를 복사 : SQL 서버에서 enter image description here

다음, 나는 나의 표 편집 200 행에 대한 스크립트를 생성하기 위해 :

enter image description here

그리고 편집 행의 마지막 줄에서 다음 값을 지나치십시오.

enter image description here

그리고 ... 그게 다야! 쉬운 peasy

관련 문제