2017-11-10 61 views
0

Excel 파일을 읽으려고합니다. C++을 사용하여 간단한 ADO 연결을 만들려고합니다. 그러나 연결을 여는 중 실패하게됩니다.C++ ADO 연결

이 코드가 먼저 COM을 초기화한다

#import "C:\Program Files (x86)\Common Files\System\ado\msado15.dll" rename_namespace("ADOCG") rename("EOF", "EndOfFile") 

int _tmain(int argc, _TCHAR* argv[]) 
{ 
    ADOCG::_ConnectionPtr conn = NULL; 
    ADOCG::_RecordsetPtr rset = NULL; 

    conn.CreateInstance(__uuidof(ADOCG::Connection)); 
    rset.CreateInstance(__uuidof(ADOCG::Recordset)); 

    try 
    { 
     //bstr_t bstrCnxt("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\\sample.mdb;Extended Properties='MSAccess 12.0;HDR=Yes'"); 
     conn->Open("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:\\weightreport.xls;Extended Properties='Excel 12.0;HDR=Yes'","","", ADOCG::adConnectUnspecified); 

    } 
    catch(const char * str) 
    { 

    } 
} 
+0

가능한 관련 문제의 끝 https://stackoverflow.com/questions/46706128에 ::CoUninitialize(); 추가 –

답변

0

을 사용하고 있습니다. _ConnectionPtrif (FAILED(::CoInitialize(nullptr))) {return 0;}를 추가하고 _tmain