_ConnectionPtr m_pConnection;
_RecordsetPtr  m_pRecordset;
         HRESULT hr;
try
{
hr=m_pConnection.CreateInstance(__uuidof(Connection));
m_pRecordset.CreateInstance("ADODB.Recordset");  if(SUCCEEDED(hr))
{
    hr=m_pConnection->Open("drive ={SQL Server};
                         Server=172.17.41.152;//SQL 2000服务器地址
                         DATABASE=HSDB;UID=sa;PWD=19850829;",
       "","",adModeUnknown);
}
}
catch(_com_error e)
{
CString errormessage;
errormessage.Format("连接数据库失败!\r\n错误信息:
                    %s",e.ErrorMessage());
AfxMessageBox(errormessage);
return FALSE;

为什么我这样做只能在本机连上,而在别的机子上连接服务器就连不上了???

解决方案 »

  1.   

    试一下查询分析器能够连上吗?
    是sql2000?
    在查询分析器中select @@version
    如果不是8.00.2039需要要求打sp4补丁.
      

  2.   

    如果查询分析器连接不上的话就需要你看一下端口配置了.
    默认1433
    在局域网机子上面telnet 172.17.41.152 1433
    如果不是提示这样的话
    "正在连接到172.17.41.152...不能打开到主机的连接, 在端口 1433: 连接失败"
    基本上就不关防火墙的事情.
      

  3.   

    别人机器上装上SQL的客户访问端看看