数据库连接超时值

enaking 2007-02-05 07:28:48
我在连接数据库时给了超时值:timeout=10
为什么在连接失败还是要等到很久,至少30秒,后来我又设成120秒,确实等了120秒,
还需要设置哪里啊或是什么不对啊,谢谢各位大哥
...全文
455 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
七秒再见 2008-01-07
  • 打赏
  • 举报
回复
忘记说了 要用到一个 Interop.SQLDMO.dll
只要你机器有SQL-Server 就应该能搜索到这个文件 我以前用的DLL版本是 8.5.0.0的 SQL是2000
七秒再见 2008-01-07
  • 打赏
  • 举报
回复
不知道能不能帮助你,以前无聊的时候写了一个 局域网内数据库服务器检测工具,用来程序员手工选择SQL服务器和里面的数据库 然后自动连接的。
using SQLDMO;
SQLDMO.Application sqlApp = new ApplicationClass();
SQLDMO.NameList names = sqlApp.ListAvailableSQLServers();
这个names 就是一个服务器名的列表数组
names.Item(0) 第一个数据库服务器的名字
不知道对你是否有帮助
jxf654 2007-02-12
  • 打赏
  • 举报
回复
up
Eri 2007-02-12
  • 打赏
  • 举报
回复
连接字符串里面的Connection Timeout属性确实管这个的,
但是设太短了不起作用,常的话没问题。
默认是15秒。
enaking 2007-02-12
  • 打赏
  • 举报
回复
兄弟们帮我想想办法啊,怎么让超时值等待变为10就可以了,谢谢
enaking 2007-02-12
  • 打赏
  • 举报
回复
没人答啊,解决了就给分,顺便再加30分
jxf654 2007-02-09
  • 打赏
  • 举报
回复
up
xk000 2007-02-08
  • 打赏
  • 举报
回复
学习中... 欢迎加入ASP.NET(C#)学习交流QQ群号:32801051
enaking 2007-02-07
  • 打赏
  • 举报
回复
兄弟们,不是的啊,我的数据库在网络上,我是想判断数据库是不是连得通,如果server的IP是其中局域网中的一台,但没有相应的数据库,很快就会弹出数据库失败,如果所输入的IP在局域网中没有,就要等到很久才会出来(好像是30秒,太长了)我想设短点,
主要是为了防止网络异常抛出的错误
gdgzboy 2007-02-07
  • 打赏
  • 举报
回复
为什么要让他失败呢?

是不是占用了连接...显式的关掉数据库连接...connect.Close();

不知道我的猜测对否...
yudi010 2007-02-07
  • 打赏
  • 举报
回复
还有就是你设置的时间必须比数据库的默认时间少
yudi010 2007-02-07
  • 打赏
  • 举报
回复
ConnectionTimeOut 这个市连接数据库所用到的时间但是没有涉及到抽取数据等操作,纯粹的连接
还有一个是command ,这个是抽取表中的数据所用到的时间,有的表的数据量比较大,抽取数据的时候用到很长时间
所以搂住要注意的是 可能是你的数据库连接成功,但是抽取数据库数据的时候超市
一般是120s
honkerhero 2007-02-07
  • 打赏
  • 举报
回复
要试通不通可以做个查询啊,那怕不要数据,只要不抛异常,代码正常执行,就说明是通的
honkerhero 2007-02-07
  • 打赏
  • 举报
回复
打开了不关,设成多长时间也会超时
michael_zy 2007-02-07
  • 打赏
  • 举报
回复
timeout是只读的,改不了,但是可以在数据库中修改默认超时的时间
enaking 2007-02-07
  • 打赏
  • 举报
回复
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也不行.我在这里就只是检测数据库是否能通,而不做其他操作.
wshuangminlg 2007-02-06
  • 打赏
  • 举报
回复
帮LZ顶
colaxu 2007-02-06
  • 打赏
  • 举报
回复
有两个时间,一个是连接 的timeout,还有一个是command 的timeout时间,最好都设置一下。

一般来说,连接的timeout时间还是设置长一些比较好,能够保证网络临时中断不影响程序的使用。

如果需要获取大数据量,就需要设置command 的timeout时间。
aierduo 2007-02-05
  • 打赏
  • 举报
回复
ConnectionTimeOut用来设置连接的超时时间,需要在Open之前调用

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧