在网上看了很多帖子,基本就是加入ADO库支持,
初始化COM组件CoInitializeEx 
AfxOleInit();
AfxEnableControlContainer();
然后声明指针_ConnectionPtr m_pConnection;
实例化m_pConnection.CreateInstance(__uuidof(Connection));
然后连接
_bstr_t strConnect="Provider=SQLOLEDB.1;Password=123;User ID=diablokids;database=test;Data Source=127.0.0.1";
m_pConnection->Open(strConnect,"","",adModeUnknown);
为什么始终连不上数据库呢,数据库远程连接,端口号,服务都开启了啊~
是连接字符串的问题么~
求各位大神搭救啊~

解决方案 »

  1.   

    sql2005 比较特别.
    安装后还要手动打开远程1433.
    本地ado连接.我忘了.我是mfc odbc类.
      

  2.   

    我手动开了端口了啊,本地ado连接是什么~
      

  3.   

    ADO助手试试,常用连接字符串都有,改下参数就可以了。
      

  4.   

    呀,版主来了,我用ADO助手的链接字符串,测试是可以连通的,但写进程序里就出错~唉,真头疼~
      

  5.   

    把ADO助手中测试通过的字符串复制到程序中,再试试看是否有错误。
    最好是加异常捕获看是什么错误
    [code=C/C++]try
    {
    //你的ADO代码
    }
    catch (_com_error& e)
    {
    CString strMsg;
    strMsg.Format(_T("错误描述:%s\n错误消息%s"), 
    (LPCTSTR)e.Description(),
    (LPCTSTR)e.ErrorMessage());
    AfxMessageBox(strMsg);
      

  6.   

    database=实例名.test得这么改才行,不加实例名连不上
      

  7.   

    现在我的连接字符串是
    Provider=SQLOLEDB.1;Password=5841314521;Persist Security Info=True;User ID=diablokids;Initial Catalog=test1;Data Source=D\SQL2005
    这个是根据udl文件测试出来的~里面没有database了
      

  8.   

    Initial Catalog=test1改成Initial Catalog=实例名.test1,就是test1的实例名,每个数据库都有唯一的实例名.
    Data Source=D\SQL2005,这个D\是什么意思,如果是路径,需要这么改:Data Source=D:\\SQL2005