база данных — C ++ ADO Connection

Я пытаюсь прочитать файл Excel. Я пытаюсь сделать простое соединение ADO, используя C ++. Но при открытии соединения происходит сбой.

это код, который я использую

#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

Решение

Вы должны инициализировать COM в первую очередь.
добавлять
if (FAILED(::CoInitialize(nullptr))) {return 0;} выше _ConnectionPtrи добавить::CoUninitialize(); в конце _tmain

0

Другие решения

Других решений пока нет …