string conn_string = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa; Password=sa; Initial Catalog=et_taobao; Data           Source=221.130.189.218"; //创建连接实例
if (SUCCEEDED(m_connection.CreateInstance(__uuidof(Connection))))
{
if (adStateOpen == m_connection->State == adStateOpen)
{
return false;
}
else
{
//设置连接超时时间
m_connection->PutConnectionTimeout(long(5));        
    m_connection->Open(conn_string.c_str(), "", "", adModeUnknown);
return m_recordset.CreateInstance(__uuidof(Recordset));
}
}请问一下,这样为啥数据库连接不成功呢?? 字符串是对的吧?我服务器sql数据库需要设置有问题? 我木器是sql和window登录大家帮帮我啊,急

解决方案 »

  1.   

    新建一个文本文件,把后缀名改成udl,然后双击打开这个文件,按提供生成连接字符串,然后用记事本打开这个文件,试试其中的连接字符串连接数据库另外,用如下代码把你的代码包起来
    try 

        //你的代码 

    catch(_com_error &e) 

        AfxMessageBox(e.Description()); 

    看看能否捕获异常??
      

  2.   

    首先可以telnet IP 1433(其中IP是你数据库服务器的IP地址)看下。
    如果是可以的话,那是程序的问题。
    如果不可以,那是机器上的防火墙之类的问题

      

  3.   

    如果是程序的问题,可以用可视的ADO DATA Control控件连接测试下看。是否可以连接。一般是没有问题的。
    如果可以,是你代码有问题。