AfxOleInit();
m_pConnection.CreateInstance(__uuidof(Connection));

try
{
m_pConnection->Open("Provider=SQLOLEDB;Server=jronald;Database=TelBook;uid=sa;pwd=","","",adConnectUnspecified);
}
catch(_com_error e)
{
CString s;
s.Format("%s\n%s","数据库连接失败",e.ErrorMessage());
AfxMessageBox(s);
}

解决方案 »

  1.   

    AfxOleInit();后
    加一句
    ::CoInitialize(NULL);
      

  2.   

    http://community.csdn.net/Expert/topic/3289/3289191.xml?temp=.8443872显示详细的错误信息
      

  3.   

    你的连接字符串写错了吧。。uid,pwd好像都是ORACLE那一套的东西。。连接字符串的书写标准是下面这样子的:strConnect = _T("Provider=sqloledb;Data Source=MyServerName;"
            "Initial Catalog=MyDatabaseName;"
            "User Id=MyUsername;Password=MyPassword;");
      

  4.   

    错误信息是:
    用户'sa'登陆失败。原因,未与信任SQL Server连接相关联。安装SQL时,我选的是windows身份验证模式,没有设用户名和密码的
      

  5.   

    那你先在命令行里面执行下面这一句再试试看:
    net use \\192.168.3.32 zagl32 /user:administrator上面的192.168.3.32是服务器IP,zagl32是密码,administrator是用户名。。
      

  6.   

    就是你先用服务器的用户名和密码与服务器建立了IPC连接以后再试试
      

  7.   

    你确定你刚才的操作成功了吗?? 如果成功了,在IE里面输入 \\192.168.3.32\c$ 不需要输入密码就可以访问\\192.168.3.32机器上面的资源的。。
      

  8.   

    不要选Windows验证,要选复合验证方式。你用windows验证,用户名密码,不能用sa了吧。
    你试试看配置一下ODBC,我估计sa你都配置不成功
      

  9.   

    Provider=SQLOLEDB.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=TelBook;Data Source=jronald请用管理员账号登陆windows系统
      

  10.   

    http://community.csdn.net/Expert/topic/3283/3283231.xml?temp=.9900324
      

  11.   

    ADO程序员参考
    SQL Server联机帮助
      

  12.   

    (1)、连接到MS SQL Server
    注意连接字符串的格式,提供正确的连接字符串是成功连接到数据库服务器的第一步,有关连接字符串的详细信息参见微软MSDN Library光盘。
    本例连接字符串中的server_name,database_name,user_name和password在编程时都应该替换成实际的内容。
     _ConnectionPtr pMyConnect=NULL;
     HRESULT hr=pMyConnect.CreateInstance(__uuidof(Connection)));
     if(FAILED(hr))return;_bstr_t strConnect="Provider=SQLOLEDB; Server=server_name;"
      "Database=database_name; uid=user_name; pwd=password;"; 
    //connecting to the database server now:
     try{pMyConnect->Open(strConnect,"","",NULL);}
     catch (_com_error &e)
     {
      ::MessageBox(NULL,e.Description(),"警告",MB_OK | MB_ICONWARNING);
     }是这么写的
      

  13.   

    OLE DB Provider for Sql ServerFor Standard Security:strConnect = _T("Provider=sqloledb;Data Source=MyServerName;"
            "Initial Catalog=MyDatabaseName;"
            "User Id=MyUsername;Password=MyPassword;"); For Trusted Connection security: (Microsoft Windows NT integrated security):strConnect = _T("Provider=sqloledb;Data Source=MyServerName;"
            "Initial Catalog=MyDatabaseName;"
            "Integrated Security=SSPI;");
    你是用windows验证方式,所以要用第二种连接字符串。。
      

  14.   

    这个是通过odbc来连接的吧,要怎么设置才可以啊?ODBC Driver for SQL Server 
      
    For Standard Security:oConn.Open "Driver={SQL Server};" & _ 
              "Server=MyServerName;" & _
             "Database=myDatabaseName;" & _
             "Uid=myUsername;" & _
              "Pwd=myPassword;"