none
用C++连接SQL Server 2017本地数据库提示“多步OLE DB操作产生错误” RRS feed

  • 问题

  • 网上有很多地方说是数据类型不匹配的原因,但是我数据库里没有建立任何数据表

    连接代码:

    #import "C:/Program Files/Common Files/System/ado/msado15.dll" no_namespace rename("EOF","adoEOF")
    #include <atlstr.h>
    #include <stdio.h>
    #include <istream>
    #include <string>

    int main()
    {
    _ConnectionPtr ptr_database = NULL;
    CoInitialize(NULL);
    HRESULT hr = ptr_database.CreateInstance(__uuidof(Connection));
    if (FAILED(hr)) {
    _com_error e(hr);
    MessageBox(NULL, e.ErrorMessage(), "警告1", MB_OK | MB_ICONINFORMATION);
    return -1;
    }


    _bstr_t str_connect ("Data Source = DESKTOP-Q472AQO\\SQLSERVER;\
    Provider = SQLOLEDB.1; Integrated Security = False; Persist Security Info = True; \
    User ID = UserForIndoorModel; Password = 30624770; Initial Catalog = IndoorModel");
    try {
    ptr_database->Open(str_connect, "", "", adConnectUnspecified);
    }
    catch(_com_error &e) {
    MessageBox(NULL, e.Description(), "警告2", MB_OK | MB_ICONINFORMATION);
    return -1;
    }
    return 0;
    }

    在“警告2”的位置提示“多步OLE DB操作产生错误”

    2018年10月25日 4:34