我在连接数据库时给了超时值:timeout=10
为什么在连接失败还是要等到很久,至少30秒,后来我又设成120秒,确实等了120秒,
还需要设置哪里啊或是什么不对啊,谢谢各位大哥

解决方案 »

  1.   

    ConnectionTimeOut用来设置连接的超时时间,需要在Open之前调用
      

  2.   

    有两个时间,一个是连接 的timeout,还有一个是command 的timeout时间,最好都设置一下。一般来说,连接的timeout时间还是设置长一些比较好,能够保证网络临时中断不影响程序的使用。如果需要获取大数据量,就需要设置command 的timeout时间。
      

  3.   

    strConnect = "server=" + strReturnServe + ";Database=shaiten;uid=" + strReturnLogin
                        + ";pwd=" + strReturnPassWord + ";Connect Timeout=10";
                            
                SqlConnection Connect = new SqlConnection(strConnect);
                //int aa = Connect.ConnectionTimeout;
                try
                {
                    Connect.Open();
                }
                catch (Exception e)
                {
                    MessageBox.Show("连接数据库服务器失败,请配置服务器。", "提示", MessageBoxButtons.OK, 
                        MessageBoxIcon.Asterisk);
                    showSysDialog(0);//通过返回值处理
                }
            }
    谢谢,大家热心帮助.这是我的源代码,公司机子上锁了,好不易才拷出来,我把Connect Timeout换成Timeout也不行.我在这里就只是检测数据库是否能通,而不做其他操作.
      

  4.   

    timeout是只读的,改不了,但是可以在数据库中修改默认超时的时间
      

  5.   

    ConnectionTimeOut 这个市连接数据库所用到的时间但是没有涉及到抽取数据等操作,纯粹的连接
    还有一个是command ,这个是抽取表中的数据所用到的时间,有的表的数据量比较大,抽取数据的时候用到很长时间
    所以搂住要注意的是 可能是你的数据库连接成功,但是抽取数据库数据的时候超市
    一般是120s
      

  6.   

    为什么要让他失败呢?是不是占用了连接...显式的关掉数据库连接...connect.Close();不知道我的猜测对否...
      

  7.   

    兄弟们,不是的啊,我的数据库在网络上,我是想判断数据库是不是连得通,如果server的IP是其中局域网中的一台,但没有相应的数据库,很快就会弹出数据库失败,如果所输入的IP在局域网中没有,就要等到很久才会出来(好像是30秒,太长了)我想设短点,
    主要是为了防止网络异常抛出的错误
      

  8.   

    学习中... 欢迎加入ASP.NET(C#)学习交流QQ群号:32801051
      

  9.   

    连接字符串里面的Connection Timeout属性确实管这个的,
    但是设太短了不起作用,常的话没问题。
    默认是15秒。
      

  10.   

    不知道能不能帮助你,以前无聊的时候写了一个 局域网内数据库服务器检测工具,用来程序员手工选择SQL服务器和里面的数据库 然后自动连接的。
     using SQLDMO;
     SQLDMO.Application sqlApp = new ApplicationClass();
     SQLDMO.NameList names = sqlApp.ListAvailableSQLServers();
     这个names 就是一个服务器名的列表数组
     names.Item(0) 第一个数据库服务器的名字
      不知道对你是否有帮助
      

  11.   

    忘记说了 要用到一个 Interop.SQLDMO.dll 
    只要你机器有SQL-Server  就应该能搜索到这个文件 我以前用的DLL版本是 8.5.0.0的  SQL是2000