|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
2008年1月16号MySQLAB被Sun公司收购。而2009年,SUN又被Oracle收购。就这样如同一个轮回,MySQL成为了Oracle公司的另一个数据库项目。server
明天也碰着了这个成绩,google了一下,没想到ghj1976已写过blog了.呵呵,简单犯的毛病.
http://blog.joycode.com/ghj/archive/2004/06/15/24612.aspx
转贴一下:
假如你利用的数据库毗连类是theDataAccessApplicationBlocks"SqlHelper"大概SqlClientClass,你在实行一个很费时的SQL操纵时分,大概就会碰着上面的超时非常。
---------------------------
---------------------------
Timeoutexpired.Thetimeoutperiodelapsedpriortocompletionoftheoperationortheserverisnotresponding.
---------------------------
OK
---------------------------
你会说,我在毗连字符串中已设置了ConnectTimeout=80000,而且数据库中超时毗连也是设置的值是一个很年夜的值。为啥到了30秒,仍旧超时了呢??
这是由于:
你的设置并没有成绩,是你搅浑了SqlCommand.CommandTimeout和SqlConnection.ConnectionTimeout这两个的区分了。
你的毗连字符串中的超时只是设置的SqlConnection.ConnectionTimeout的值,而不是设置的SqlCommand.CommandTimeout的值。
SqlHelper中并没有SqlCommand.CommandTimeout的相干设置。必要你本人设置。
上面是两个的对照:
SqlCommand.CommandTimeout
猎取或设置在停止实行命令的实验并天生毛病之前的守候工夫。
守候命令实行的工夫(以秒为单元)。默许为30秒。
SqlConnection.ConnectionTimeout
猎取在实验创建毗连时停止实验并天生毛病之前所守候的工夫。
守候毗连翻开的工夫(以秒为单元)。默许值为15秒。
一些更具体的对这个成绩的形貌看:
http://www.eggheadcafe.com/PrintSearchContent.asp?LINKID=357
这个成绩能够算是SqlHelper计划的时分,一个思索不周的中央吧。
SqlCommand.CommandTimeout的默许值是30,关于我写的年夜多半程序来讲,这个值充足了。以是一向都没有发明SqlHelper的这个成绩。明天在查当地一台对照差的机子上天生一个超长帖子(近4000个复兴)无呼应的成绩时分,才发明SQLHelper存在的这个成绩。
Federated将不同的Mysql服务器联合起来,逻辑上组成一个完整的数据库。非常适合分布式应用 |
|