问题是这样的:在VC工程中,我是使用ADO来连接数据库的。当我点击“连接”按钮,就去连接程序指定的数据库,但是当要连接的数据库服务器未启动时,会等待1~2分钟时间才会反馈“连接失败”的结果。
也就是当要连接的数据库服务器未启动时,反馈的时间比较长,有没有什么办法可以设置连接的超时时间?
比如使用socket网络通信时可以设置连接的超时时间,当连接的时间超过指定的超时时间就反馈结果。

解决方案 »

  1.   

    连接代码如下:
    _ConnectionPtr _connectionPtr;
    _connectionPtr.CreateInstance(__uuidof(Connection));
            ......
    _connectionPtr->Open("Driver={SQL Server};Server=%s;Database=%s;Uid=%s;Pwd=%s";, "", "", adConnectUnspecified);
      

  2.   

    connection都有个timeout的属性,设置下就行了。
      

  3.   

    我尝试过在连接串中添加超时时间的设置,但是没用:
    "Driver={SQL Server}; Server=%s; Database=%s; Uid=%s; Pwd=%s; Connect Timeout=1"//超时时间Connect Timeout
      

  4.   

    连接字符串里设置Connection Lifetime为0
      

  5.   

    看一下MSDN对连接字符串的说明就明白了
    http://msdn.microsoft.com/zh-cn/library/ms254978%28v=VS.80%29.aspx
      

  6.   

    To xys_777:端口就用默认的。
      

  7.   

    "Driver={SQL Server}; Server=%s; Database=%s; Uid=%s; Pwd=%s; Connection Lifetime=10"改了,也没作用。
      

  8.   

    CString strConnection;
    strConnection.Format(_T("Driver={SQL Server};Server=%s;Database=%s;Uid=%s;Pwd=%s;Connection Lifetime=0"),
    m_strDatabaseServer, m_strDatabaseSource, m_strDatabaseUsername, m_strDatabasePassword);感谢楼上各位的热心解答,但是还是没效果...