2012-12-19 3 views
0

가져 오기를 담당하는 파일 이름을 추적하기위한 열은 물론 테이블을 만드는 스크립트가 있습니다.Excel에서 SQL Server 테이블로 가져 오는 동안 열 추가

select *, 'file1.xls' as 'Filename' 
into dbo.SQLServerTable 
FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0', 'Excel 8.0;Database=D:\testing.xls;HDR=YES','SELECT * FROM [Sheet1$]') 

그런 다음 파일 이름이 다른 추가 가져 오기를 수행해야합니다. 이 구문이 구문 상 올바르지 않고 가져 오기를 방해하고 있다고 생각하지 않습니다.

INSERT INTO dbo.SQLServerTable 
Select *, 'File2.xlsx' as 'FileName' 
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel  12.0;Database=D:\Convert\Converted\File2.xlsx;HDR=YES', 'SELECT * FROM [Worksheet$]') 
+0

오류 메시지가 표시됩니까? 그렇다면 어느 것입니까? –

+0

내가 얻는 오류는 "문자열 또는 이진 데이터가 잘 리게됩니다" –

+0

Excel 파일에서 어떤 열이 comping하고 있는지 미리 아십니까? –

답변

1

나는이 문제가 발생,이 예를 들어 VARCHAR 것 때문에 기본 테이블 값, 문자열 값이 내가 VARCHAR 필요 (50)에 (120)

내 솔루션이 있었다 excel을 csv 파일 (표준 Excel 저장)에 넣은 다음 sql 가져 오기/내보내기 UI를 사용하여 파일을 테이블로 가져옵니다. 이 프로세스 중에 모든 기본값을 볼 수 있으며 고급 탭을 통해이 값을 사용자 고유의 기본 설정으로 변경할 수 있습니다.

관련 문제