本帖最后由 kittymimihh 于 2009-09-25 17:18:52 编辑

解决方案 »

  1.   

    Provider=SQLOLEDB.1;Password=xxxx;Persist Security Info=True;User ID=sa;Initial Catalog=Infusion2;Data Source=.
    -------------------
    看你的连接串好象不全.
    User ID是sql server登录用户。
    你还缺少Password(密码)、Data Source(服务器地址)
      

  2.   

    inline HRESULT Connection15::Open ( _bstr_t ConnectionString, _bstr_t UserID, _bstr_t Password, long Options ) {
        HRESULT _hr = raw_Open(ConnectionString, UserID, Password, Options);
        if (FAILED(_hr)) _com_issue_errorex(_hr, this, __uuidof(this));//运行到这一步中断的,也就是这一步有错
        return _hr;
      

  3.   

    报错信息::Translate.exe 中的 0x7c812afb 处未处理的异常: Microsoft C++ 异常: 内存位置 0x0012f78c 处的 _com_error。
      

  4.   

    pConn->Open("Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=数据库名","","",adConnectUnspecified);
    或者用:
    pConn->Open("Provider=SQLOLEDB.1;Database=数据库名","sa","",adConnectUnspecified);这两种随便你用哪种。
      

  5.   

    “Translate.exe”: 已加载“C:\Program Files\Common Files\System\Ole DB\sqloledb.rll”,未使用调试信息生成二进制文件。
    Translate.exe 中的 0x7c812afb 处最可能的异常: Microsoft C++ 异常: 内存位置 0x0012f2a4 处的 _com_error。
    Translate.exe 中的 0x7c812afb 处未处理的异常: Microsoft C++ 异常: 内存位置 0x0012f2a4 处的 _com_error。这是调试信息
      

  6.   

    我新建的是一个基于对话框的应用程序,就写了上面那么点程序。VS用的是2005,sql server用的是2000.
      

  7.   

    你的
    pConn->ConnectionString = "Provider = SQL OLEDB.1;Persist Security Info = false;User ID = sd;Initial Catalog = Infusion2";我的,要去掉一个空格。
    pConn->ConnectionString = "Provider = SQLOLEDB.1;Persist Security Info = false;User ID = sd;Initial Catalog = Infusion2";还有呢,你用的是windows认证的方式登录数据库。所以这个字符串足以windows 2003的服务器上,必须至少安装SQL SERVER 2000 +SP4, 才有可能链接成功。才能正常监听端口,开放服务