2017-11-10 65 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

可能性に関連する問題の終わりに::CoUninitialize();を追加https://stackoverflow.com/questions/46706128 –

答えて

0

を使用しています。 _ConnectionPtrif (FAILED(::CoInitialize(nullptr))) {return 0;}を追加し、_tmain