各位大侠 我用ADO 连SQLServer数据库是 老是连接失败 大家帮我看看 这是我的原码:
 
void CDBView::SetConnectDB()
{
    HRESULT hr;
try
{
hr = m_pConnection.CreateInstance("ADODB.Connection");
if (SUCCEEDED(hr))
{
hr = m_pConnection->Open("driver={SQLServer};Server=127.0.0.1;DATABASE=DB;UID=;PWD=","","",adModeUnknown);

 
}
}
catch(_com_error e)
{
CString errormessage;
errormessage.Format("连接数据库失败!\r\n错误信息:%s",e.ErrorMessage());
AfxMessageBox(errormessage);

}}

解决方案 »

  1.   

    有没有import msado15.dll
      AfxOleInit() 初始化COM库
      

  2.   

    有呀 import 和 AfxOleInit() 都做了 127.0.0.1 应该是的吧 我也没改 hosts文件呀
      

  3.   

    _ConnectionPtr m_pConn;
        CString m_sConn="Provider=SQLOLEDB.1;Data Source=192.168.3.9;Initial 
    Catalog=sode"; //sode是数据库服务器192.168.3.9上的一个数据库
        m_pConn.CreateInstance("ADODB.Connection");
        try
        {
            HRESULT hr=m_pConn->Open((_bstr_t)m_sConn,"sa","mapper",adConnectUnspecified);    
            if (FAILED(hr))
            {
                AfxMessageBox("不能连接数据库 source!");
                return FALSE;
            }
        }
        catch(_com_error e)
        {
            AfxMessageBox("不能连接数据库 error!");
            return FALSE;
        }
      

  4.   

    if (FAILED(pConn->Open("Provider=SQLOLEDB.1;User ID=sa;Data Source=192.168.0.2","","",-1)))
    {
    *x_Success = ::SysAllocString(L"Couldn't open connection!");
    return S_OK;
    }
    pConn->Execute("use exam", NULL, adCmdText);
      

  5.   

    to  hl588 you are right
    关于连接方式看看下面:
    http://dev.csdn.net/develop/article/21/21089.shtm
    http://dev.csdn.net/develop/article/21/21087.shtm