Я пытаюсь подключить свой проект C ++ к SQL Server, используя ADO.it, работает хорошо при проверке первого «hr», но возникает ошибка при открытии базы данных во втором операторе «if», он говорит Microsoft C++ exception: _com_error at memory location
. и в окне отладки _hr есть такое значение _hr: DB_E_ERRORSOCCURRED Multiple-step OLE DB operation generated errors. Check each OLE DB status value, if available. No work was done.
вот мое соединение:
_bstr_t strCon("Provider=sqloledb; Data Source=...\\SQLEXPRESS;Initial Catalog=TestDB;Integrated Security=True");
HRESULT hr = S_OK;
CoInitialize(NULL);
//Create the Connection pointer
hr = pConnection.CreateInstance(__uuidof(Connection));
if (FAILED(hr))
{
printf("Error instantiating Connection objectn");
}
//Open the SQL Server connection
hr = pConnection->Open(strCon, "", "", adConnectUnspecified);
if (FAILED(hr))
{
printf("Error Opening Database object using ADO _ConnectionPtr n");
}
Я также пытался установить соединение с источниками данных ODBC и записать это в моем коде _bstr_t strCon("ADOSQL");
вместо этого _bstr_t strCon("Provider=sqloledb; Data Source=DESKTOP-MCOUUN9\\SQLEXPRESS;Initial Catalog=TestDB;Integrated Security=True");
, и ошибки нет, но когда отладчик проходит pConnection-> Open, в значении, которое остается, ничего не меняется как было в начале <Information not available, no symbols loaded for msado15.dll>
.
Любые идеи о том, что может быть причиной этого исключения? Заранее спасибо.