将open语句改成如下形式
m_pConnection->Open("driver={SQL Server};Server=127.0.0.1;DATABASE=vckbase;UID=sa;PWD=139","","",adModeUnknown);

解决方案 »

  1.   

    在桌面上建立一个空的文本文件,然后把文件名改成xxx.udl,这时候会有提示的,不管!
    双击这个文件,会出一个对话框,你在这个对话框里不停的乱试,直到点击测试按钮通过为止。
    最后用记事本打开这个文件,里面就会有你要的字符串。
      

  2.   

    新建一个udl文件,双击之后该干嘛就知道了
    最后用记事本打开
      

  3.   

    _bstr_t strCnn("Provider=sqloledb;Data Source=srv;"
            "Initial Catalog=Pubs;User Id=sa;Password=;");
    试试看这样的
      

  4.   

    楼主的情况应该是SQL2000的密码。如果用1楼的方法不行,可能是你采用的是默认密码(无),或者有自己的密码。
    修改一下一楼的程序:
    m_pConnection->Open("driver={SQL Server};Server=127.0.0.1;DATABASE=vckbase;UID=sa;PWD=你自己的密码","","",adModeUnknown);如果安装时设定SQL默认密码为无,那么这句话应该为:
    m_pConnection->ConnectionString="Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=pubs";

    m_pConnection->Open("","","",adConnectUnspecified);
      

  5.   

    // 初始化COM,创建ADO连接等操作
    AfxOleInit();
    m_pConnection.CreateInstance(__uuidof(Connection));
    // 在ADO操作中建议语句中要常用try...catch()来捕获错误信息,
    // 因为它有时会经常出现一些想不到的错误。
    try
    {
    // 连接Korea Project数据库
    if( !ReadDBIni() ) WriteDBIni();
    CString strConneciton;
    strConneciton.Format("Provider=SQLOLEDB.1;Data Source=%s;Initial Catalog=%s", m_strDataSrc, m_strInitDB );
    m_pConnection->Open( (LPCTSTR)strConneciton, (LPCTSTR)m_usr, (LPCTSTR)m_pass, adModeUnknown );
    }
    catch(_com_error e)
    {
    AfxMessageBox("数据库连接失败!");
    AfxMessageBox(e.ErrorMessage());
    return FALSE;
    }