操作对象:
在我的机子上有个SQL SERVER服务器。 下面有个MyFirstSql数据库包含了一个cust_sample的表,我如何才能OPEN这个连接 帮我设置一下OPEN参数服务器名字:CHINESE-F62D7EB\SQLEXPRESS;
数据库:MyFirstSql
表:cust_sample;
要求:ADO;
用户:kampu;
密码:无我定义了一个_ConnectionPtr m_ConnectionPtr;
我在CREATEINSTANCE后 打开时应该用什么
我在用ODBC时用了下面的参数(成功的)
CString CNewDataSet::GetDefaultConnect()
{
return _T("DRIVER=SQL Server;SERVER=CHINESE-F62D7EB\\SQLEXPRESS;APP=Microsoft? Visual Studio .NET;WSID=CHINESE-F62D7EB;DATABASE=MyFirstSQL;Trusted_Connection=Yes");
}
不过我的机器很快就内存占用就达到了好高1G多,是不是该释放连接等资源啊

解决方案 »

  1.   

    CString strConnect = _T("Provider=sqloledb;Data Source=(local)");
    strConnect += ";Initial Catalog=";
    strConnect += DBNAME;//sqlserver数据库名
    strConnect += ";User ID=";
    strConnect += DBUSER;//用户名
    strConnect += ";Password=";
    strConnect += DBPASS;//密码
    strConnect += ";";
      

  2.   

    还是有错啊  在打开_RecordsetPtr的时候出错了  楼上能帮我上面的填进去吗?
      

  3.   

    CString strConnect = _T("Provider=sqloledb;Data Source=(local)");
    strConnect += ";Initial Catalog=";
    strConnect += cust_sample;//sqlserver数据库名
    strConnect += ";User ID=";
    strConnect += kampu;//用户名
    strConnect += ";Password=";
    strConnect += "";//密码
    strConnect += ";";
      

  4.   

    _ConnectionPtr m_ConnectionPtr=NULL;
    HRESULT hr;
    try
    {
    hr=m_ConnectionPtr.CreateInstance(__uuidof(Connection));
    if(SUCCEEDED(hr))
    {
    CString strConnect = _T("Provider=sqloledb;Data Source=kampu\\SQLEXPRESS");
    strConnect += ";Initial Catalog=";
    strConnect +="MyFirstSql";//sqlserver数据库名
    strConnect += ";User ID=";
    strConnect += "kampu";//用户名
    strConnect += ";Password=";
    strConnect += "";//密码
    strConnect += ";";
    hr=m_ConnectionPtr->Open((_bstr_t)strConnect,"","",adModeUnknown);
    }
    }
    catch(_com_error e)
    {
    AfxMessageBox("failure");
    }
    _RecordsetPtr m_Recordset;
    m_Recordset.CreateInstance(__uuidof(Recordset));
    m_Recordset->Open("SELECT * FROM cust_sample",_variant_t((IDispatch*)m_ConnectionPtr,true),adOpenStatic,adLockOptimistic,adCmdText);
    _variant_t vName;
    vName=m_Recordset->GetCollect("cust_name");
    m_Edit.SetWindowText((_bstr_t)vName);我的全部代码    确定了还是连接的时候出错  我把我的计算机的名字改成kampu
    我的服务器资源管理器里的内容是这样的:
    -服务器
       |__KAMPU
            |_SQL SERVER
                  |_KAMPU\SQLEXPRESS
                           |_MyFirstSql
                               |_表
                                  |_cust_sample
    帮忙配置一下上面两个CONNECT和RECORDSET的OPEN  谢谢了
      

  5.   

    打开_RecordsetPtr:
    _RecordsetPtr m_pRecordset;CString strSql="select * from cust_sample";
      BSTR bstrSQL = strSql.AllocSysString(); 
      m_pRecordset->Open(bstrSQL,(IDispatch*)m_pConnection,adOpenDynamic,adLockOptimistic,adCmdText); 
      

  6.   

    我发现是连接不上,后面的RECORDSET的打开可能是对的
      

  7.   

    kampu 改成你sql server的用户名
      

  8.   

    还是搞不定  我想知道到底那些open方法的字符串参数从哪里来,与库是怎样对应的,怎么决定用什么驱动(从哪可以获得这些信息)
      

  9.   

    试试
    CString strConnect = _T("Provider=sqloledb;Data Source=(local)");
    strConnect += ";Initial Catalog=";
    strConnect += cust_sample;//sqlserver数据库名
    strConnect += ";User ID=";
    strConnect += sql server user name;//用户名
    strConnect += ";Password=";
    strConnect += "''";//密码    这边修改了
    strConnect += ";";
      

  10.   

    密码用户没有问题,我用配置DSN的方式是成功访问的,但是不用DSN就是连不上。 算了, 等一下再找资料谢谢striking