comutil.cpp ошибка не найдена, где я могу найти этот файл?

#c #sql-server #com #ado

#c #sql-сервер #com #ado

Вопрос:

Я использую ado для подключения моего проекта c к базе данных. Итак, когда я устанавливаю соединение с SQL-сервером и затем открываю соединение, я получаю такого рода ошибку comutil.cpp не найдено, но только если я использую step into(F11) во время отладки, но если я использую step over(F10) , ошибки нет и продолжаю работать.

Я обыскал свой компьютер и нигде не смог найти файл. Должен ли я установить comutil.cpp исходный код или файл?

p.s У меня нет ошибки до тех пор, пока соединение не будет выполнено.(ошибка: DB_E_ERRORSOCCURRED Multiple-step OLE DB operation generated errors. Check each OLE DB status value, if available. No work was done. ) также при открытии соединения, но оно также ничего не получает в качестве значения <Information not available, no symbols loaded for msado15.dll> , и связано ли это с comutil.cpp ? Если нет, то как я могу выполнить свое соединение?

Я снова и снова ломал голову, пытаясь найти решение для этого, но кто-нибудь знает, как решить эту проблему?

 //TESTHR Function which check if HRESULT is okay or not
_ConnectionPtr pConnection;
_RecordsetPtr pRecordset;
_CommandPtr pCommand;

TESTHR(CoInitialize(NULL));

TESTHR(pConnection.CreateInstance(__uuidof(Connection)));
_bstr_t strCon(_T("ADOSQL"));
TESTHR(pConnection->Open(strCon, "", "", adOpenForwardOnly));

TESTHR(hr = pCommand.CreateInstance(__uuidof(Command)));

_bstr_t InsertQuery(_T("Insert Into TestTB(AccountID, Balance) Values(@AccountID, @Balance)"));

pCommand->ActiveConnection = pConnection;
pCommand->CommandText = InsertQuery;
pCommand->CommandType = adCmdText;

TESTHR(pRecordset.CreateInstance(__uuidof(Recordset)));
hr = pRecordset->Open(SQLQuery, pConnection.GetInterfacePtr(), adOpenForwardOnly, adLockReadOnly, adCmdText);
//-------------
//some operations
//-------------

pConnection->Execute(InsertQuery, vRecordsAffected, adCmdText); //here error occures
pRecordset->Close();
pConnection->Close();
CoUninitialize();
  

Комментарии:

1. Вы ссылались на comsuppw.lib?

2. нет, что это или как я могу это сделать? есть ли какая-либо документация?

3. Вы пытаетесь перейти к comutil исходному коду, но маловероятно, что ошибка кроется там. Вместо того, чтобы сосредоточиться на проблеме, связанной с отладкой comutil или другого программного обеспечения, предоставляемого Microsoft, вам, вероятно, следует изучить свой код. Строка подключения, которую вы используете, не похожа на строку подключения ADO. Может быть, это поможет: learn.microsoft.com/en-us/office/vba/access/concepts /…

4. PS: Если вы не добавляете @<имя> в комментарии, отвечающие пользователю, то этот человек может не получить уведомление в своем почтовом ящике.

5. @J.R. я сделал это с помощью приложения ODBC Data Sources (потому что, когда я использую полный путь строки подключения, он выдает ошибку), который подключается правильно, я проверил это в профилировщике SQL server. но, возможно, сегодня я нашел что-то для выполнения команды, мне нужно импортировать «msadox.dll «, я точно не знаю. я прав?