본문 바로가기
DataBase/MS-SQL

[엑셀쿼리 오류] Microsoft.Jet.OLEDB.4.0 이(가) 오류

by Dev. Jkun 2013. 5. 29.
반응형

** 오류메시지

서버: 메시지 7399, 수준 16, 상태 1, 줄 1

OLE DB 공급자 'Microsoft.Jet.OLEDB.4.0'이(가) 오류를 보고했습니다. 공급자에서 오류에 관한 정보를 주지 않았습니다.

OLE DB 오류 추적 [OLE/DB Provider 'Microsoft.Jet.OLEDB.4.0' IDBInitialize::Initialize returned 0x80004005:  공급자에서 오류에 관한 정보를 주지 않았습니다.].

 

SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',    'Excel 5.0;Database=c:\SampleCode.xls', Sheet1$) 

 

정상적으로 위 코드를 작동시키기 위해서는 반드시 아래의 조건을 지켜준다.

1. 데이터베이스 서버가 작동하는 드라이브에 파일이 존재해야 한다.

2. 시트명뒤에 $ 표시를 반드시 해준다.

====================================================================================================

** 로컬테스트 **

나같은 경우에는 정상적으로 MSSQL 도 설치하고 파일에도 이상이 없고 시트명도 Sheet1$ 로 지정하였다.

하지만 파티션을 나누어서 C 와 D 로 사용을 하고 있는 문서폴더가 D 드라이브에 존재했다.

그래서 쿼리를 날려야 하는 파일이 D 드라이브에 있었는데 혹시나 하는 마음에 C 드라이브로

옮기고 쿼리를 날렸더니.. 정상작동. D 드라이브에 있었을때는 위와 같은 ** 오류.

 

INSERT INTO SAMPLE_ENTITY (CODE1, CODE2, CODE3, DESCRIPTION )

SELECT a.*  FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0','excel 8.0;database=c:\SampleCode.xls;sa;', Sheet1$)

 AS a

====================================================================================================

반응형

댓글