我定义的一个cstring类的对象,在字符串类中填写了如下内容
str="provitor=SLQOLEDB;data resource=主机名;user id=sa;password=……";
在连接的过程中,总是提示我用户名登陆错误,我想知道在数据源中,由于我用的是局域网内数据库服务器上的数据源,我应该在这里填写的子网内服务器的机器名还是其他的什么内容呢?谢谢

解决方案 »

  1.   

    最好填Ip
    //连接SQL SERVER
    m_pConnection->Open("Driver=SQL Server;Database=test;Server=192.168.0.1;UID=sa;PWD=;","","",adModeUnknown);
      

  2.   

    1.stdafx.h中加入
    #import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF","adoEOF") 
    2。app文件的InitInstance中加入
    if(S_OK!=OleInitialize(NULL))
    {
    AfxMessageBox("初始化COM组件库错误");
    }
    下面就是数据库操作
    _ConnectionPtr pConn;
    _RecordsetPtr  pRs;
    CString strSQL;
    pConn.CreateInstance(__uuidof(Connection));
    pConn->CursorLocation=adUseClient;
    strSQL="Provider=SQLOLEDB;Server=Gooyan;DataBase=SkillsBox;UID=sa;PWD=aaaaaaaa";
    pConn->Open(_bstr_t(strSQL),"","",-1);pRs.CreateInstance(__uuidof(Recordset));
    pRs->CursorLocation=adUseClient;
    pRs->PutActiveConnection(pConn.GetInterfacePtr());pRs1.CreateInstance(__uuidof(Recordset));
    pRs1->CursorLocation=adUseClient;
    pRs1->PutActiveConnection(pConn.GetInterfacePtr());strSQL="select * from catalog order by cataid";
    pRs->Open(_bstr_t(strSQL),vtMissing,adOpenDynamic,adLockBatchOptimistic,adCmdText);
      

  3.   

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

  4.   

    样例链接串:
    Provider=SQLOLEDB.1;Data Source= TESTPC;User ID=sa;Password=sa;Initial Catalog=fjlz;Persist Security Info=True
    其中Data Source为服务器名称
    Catalog为数据库名称
      

  5.   

    1.ACCESS 2000    _ConnectionPtr m_pConn;
        CString m_sConn="Provider=Microsoft.Jet.OLEDB.4.0.1;Data Source=d:\\db1.mdb";
        m_pConn.CreateInstance("ADODB.Connection");
        try
        {
            HRESULT hr=m_pConn->Open((_bstr_t)m_sConn,"","",adConnectUnspecified);    
            if (FAILED(hr))
            {
                AfxMessageBox("不能连接数据库 source!");
                return FALSE;
            }
        }
        catch(_com_error e)
        {
            AfxMessageBox("不能连接数据库 error!");
            return FALSE;
        }2.SQL Server 2000    _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;
        }3.Oracle 9i    _ConnectionPtr m_pConn;
        CString m_sConn="Provider=MSDAORA.1;Data Source=sode_192.168.3.9"; //使用
    ms连接库,sode为SID,192.168.3.9为机器ip
        m_pConn.CreateInstance("ADODB.Connection");
        try
        {
            HRESULT hr=m_pConn->Open((_bstr_t)m_sConn,"sodeUser","sodePw",adConnectUnspecified);    
            if (FAILED(hr))
            {
                AfxMessageBox("不能连接数据库 source!");
                return FALSE;
            }
        }
        catch(_com_error e)
        {
            AfxMessageBox("不能打开数据库 error!");
            return FALSE;
        }
      

  6.   

    http://www.codeproject.com/useritems/ConnectionStrings.asp
      

  7.   

    教楼主一个省事的办法
    在一个对话框程序中,右键点击对话框,在弹出的菜单中选择“insert Active Control”,在弹出的窗口中选择Microsoft ADO Dataa Control 6.0(SP6),点击ok,会在你的对话框上添加一个控件,右键点击控件,选择属性,在属性设置对话框上选择Control,选择“Use Connection String”,点击Build
    再选择你的数据库类型(如Sql server)。。最后就可以生成一个连接字符串
    Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=iCARD;Data Source=10.10.4.15这就是你要的!
    如果楼主决定好用的话,多给写分,帮助我成为星星!  
    :)
      

  8.   

    .stdafx.h中加入
    #import "C:\Program Files\Common Files\System\ado\msado15.dll" no_namespace rename("EOF","adoEOF") 
    2。app文件的InitInstance中加入
    if(S_OK!=OleInitialize(NULL))
    {
    AfxMessageBox("初始化COM组件库错误");
    }
    下面就是数据库操作
    _ConnectionPtr pConn;
    _RecordsetPtr  pRs;
    CString strSQL;
    pConn.CreateInstance(__uuidof(Connection));
    pConn->CursorLocation=adUseClient;
    strSQL="Provider=SQLOLEDB;Server=Gooyan;DataBase=SkillsBox;UID=sa;PWD=aaaaaaaa";
    pConn->Open(_bstr_t(strSQL),"","",-1);pRs.CreateInstance(__uuidof(Recordset));
    pRs->CursorLocation=adUseClient;
    pRs->PutActiveConnection(pConn.GetInterfacePtr());pRs1.CreateInstance(__uuidof(Recordset));
    pRs1->CursorLocation=adUseClient;
    pRs1->PutActiveConnection(pConn.GetInterfacePtr());strSQL="select * from catalog order by cataid";
    pRs->Open(_bstr_t(strSQL),vtMissing,adOpenDynamic,adLockBatchOptimistic,adCmdText);
      

  9.   

    谢谢这么多朋友帮忙,我的接口现在可以用了
    在连接的时候我用的是_ConnectionPtr 作为接口指针
    可是,使用whwjn和 vcleaner推荐的字符串作为登陆信息,都不成功。
    后来我把
    strSQL="Provider=SQLOLEDB;data source=Gooyan;DataBase=SkillsBox;UID=sa;PWD=aaaaaaaa";
    改成
    strSQL="Provider=SQLOLEDB;SERVER=server;DATABASE=SkillsBox;UID=sa;PWD=aaaaaaaa";
    就可以了。
    这是不是和我用什么样的接口有关系呢?