델파이

MS Office2013 ADO, OLEDB 제외 AccessDatabaseEngine 별도 설치

미스터몽키 2015. 8. 28. 15:52

새로 MS OFFICE 2013 버전을 설치하고 기존 ADO, OLEDB 관련해서 엑셀파일 불러오던 것이
오류가 발생하였습니다.
새 버전에서 OLEDB 모듈이 빠졌는지 MS 고객센터에 문의해 보았는데 예상대로 빠졌네요


고객센터 답변내용

-------------------------------------------------------------------------------------------------
새로 출시된 Office 365는 최신버전은 Office 2013을 기반으로 설치됩니다.

Office 2013은 Click 2 Run의 형태인 실시간 다운로드 설치방식으로 변경되어 OLEDB를 별도로 설치해야 합니다.

Office 2013에서 이전 버전과 다른 형태의 Click 2 Run 방식으로 인해 OLEDB를 별도로 설치해야만 정상이용을 하실 수 있습니다.

이에 대한 기술문서를 아래 링크를 통해 확인하실 수 있으니 이용에 참고하여 주시기 바랍니다.
-----------------------------------------------------------------------------------------------

해결방법은  AccessDatabaseEngine 을 별도 설치하면 됩니다.

https://support.microsoft.com/en-us/kb/2874601

http://www.microsoft.com/ko-kr/download/details.aspx?id=13255

엑셀파일을 불러올때 ADO(OLEDB)를 연결하는 것이 OLE Object 이용하는 것 보다 훨씬 빠르므로
자료가 많을 때는 큰 차이가 발생합니다.

또한 엑셀이 설치되어 있지 않아도 위의 AccessDatabaseEngine.exe (오피스 2010) 설치하면 OLEDB 기능을
이용할 수 있습니다.


참고로  ADODB 유닛의 GetProviderNames 메소드 사용하면 현재 PC의 OLEDB 공급자( ProviderName )
정보를 확인할 수 있습니다.

예를 들어
procedure TForm1.Button1Click(Sender: TObject);
begin
  GetProviderNames(ListBox1.Items);
end;