无法使用ADO C ++打开数据库,打开数据库时遇到“ _com_error”

时间:2019-04-01 09:29:03

标签: c++ sql sql-server com ado

我正在尝试使用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>中的值。

关于什么可能导致此异常的任何想法?预先谢谢您。

0 个答案:

没有答案