블로그 이미지
LifeisSimple

calendar

1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30

Notice

2011. 5. 23. 23:56 Brain Trainning/DataBase

엑셀파일을 OpenQuery로 작업하면

메시지 7308, 수준 16, 상태 1, 줄 1
OLE DB 공급자 'Microsoft.Jet.OLEDB.4.0'은(는) 단일 스레드 아파트 모드에서 실행되도록 구성되어 있으므로 분산 쿼리에 사용할 수 없습니다.

이런 에러를 만날수 있습니다. 

그랫을때는 아래와 같이 해줍니다. 
그러나, 이래도 계속 에러가 나면... 아마도 당신은 64bit 환경에서 32bit 오피스를 사용하시는 것입니다. 
그러면, 그냥 순응하고 bulk insert 를 사용합니다. 켜켜켜켜



sp_configure
'show advanced options', 1;

GO

RECONFIGURE;

GO

sp_configure 'Ad Hoc Distributed Queries', 1;

GO

RECONFIGURE;

GO

 

 

SELECT *

FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0',

                'Excel 8.0;Database=e:\testDB.xls',

                'SELECT * FROM [Sheet1$]')

               

SELECT * FROM 

OPENROWSET('Microsoft.ACE.OLEDB.12.0',

'Excel 12.0 Xml;Database=e:\testDB.xls;',

'Select * from [Sheet1$]')

posted by LifeisSimple