我正在尝试使用ADO将我的C ++项目连接到SQL Server。它在检查第一个“ 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>
中的值。
关于什么可能导致此异常的任何想法?预先谢谢您。