锁定老帖子 主题:发现ror中比较头痛的问题
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2008-03-07
内容在"C:\ruby\lib\ruby\gems\1.8\gems\activerecord-2.0.2\lib\ active_record\connection_adapters\sqlserver_adapter.rb"(226,30): @connection.execute("SELECT 1").finish处, 方法内容如下: # CONNECTION MANAGEMENT ====================================# # Returns true if the connection is active. def active? @connection.execute("SELECT 1").finish true rescue DBI::DatabaseError, DBI::InterfaceError false end 估计是测试其数据库的连接,但还是没有解决问题,不知道大伙有没有遇到类似情况! 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2008-03-14
大伙都没有遇到这个问题?怎么没人反映啊!
ROR还真的不成熟,用的过程中发现不少问题,都没法解决! 动态优点与缺点都很明显! |
|
返回顶楼 | |
发表时间:2008-03-14
连接SQL Server数据库可能是差点,你要知道开发RoR的那帮人都用MacOS,他们根本没有windows开发环境。
|
|
返回顶楼 | |
发表时间:2008-03-14
"SELECT 1"就是用来检测数据库链接的。最近做的几个COM的项目也都是通过这种方式来测试。但是SELECT 1能造成数据库死锁?LZ似乎应该从其他角度查查原因~
另:robbin说得对,如果用Rails的话,我肯定是和SQL SERVER说拜拜了。。。呵呵 |
|
返回顶楼 | |
发表时间:2008-03-15
woody_420420 写道 "SELECT 1"就是用来检测数据库链接的。最近做的几个COM的项目也都是通过这种方式来测试。但是SELECT 1能造成数据库死锁?LZ似乎应该从其他角度查查原因~
另:robbin说得对,如果用Rails的话,我肯定是和SQL SERVER说拜拜了。。。呵呵 不会吧,我正在作一个应用,也用sqlserver。 一般的情况,很难决定更换数据库的。 |
|
返回顶楼 | |
发表时间:2008-03-15
mirage 写道 woody_420420 写道 "SELECT 1"就是用来检测数据库链接的。最近做的几个COM的项目也都是通过这种方式来测试。但是SELECT 1能造成数据库死锁?LZ似乎应该从其他角度查查原因~
另:robbin说得对,如果用Rails的话,我肯定是和SQL SERVER说拜拜了。。。呵呵 不会吧,我正在作一个应用,也用sqlserver。 一般的情况,很难决定更换数据库的。 不知道LS同学“不会吧”是不是觉得我说SQL SERVER很差(这个话题先不谈,呵呵) 只是我觉得在Rails的环境下用SQL SERVER真的是。。。第一,从使用来说就麻烦,还得手动拷代码,在看看mysql,sqlite的使用,那叫一个轻松;第二,还是见robbin的解释,这是一个虽然不一定客观,但是很现实的问题:) 当然,存在就是合理的,既然Rails支持使用SQL SERVER,也不会用了判刑十年之类的。个人爱好而已。呵呵 另:“更换数据库”的话题就大了。。遗留系统。。。领导原因。。。都在左右这个问题。 PS:我SQL SERVER用得也不少,感觉也蛮不错啊。 |
|
返回顶楼 | |
发表时间:2008-03-18
要不换换sql的驱动看看?
|
|
返回顶楼 | |
发表时间:2008-03-20
更换数据库那是不太可能啊,公司所有的产品都是基于sql server的,所以不考虑这种方案!
但为何死锁还是没找到原因,便死锁这种情况不是一定的,时尔会,时尔正常,这个可能与操作此数据库此表的多少有关,因为这个表每天都有很多地方要频繁读取,但我这边是对这个表作管理的,包括增,册,改,及其与多个表的关联查询等,发现在当峰期死锁的情况很大。 并且发现,rails动态生成的语句太多,你处理一个修改删除,它会附加多个其它的select操作,对性能也是一个考验,并且发现生成的sql很是难看,也是不很优的那种! |
|
返回顶楼 | |
发表时间:2008-07-09
楼主的问题,我这也严重遇到了,因为之前几个管理后台都是用的SQLServer数据库的。管理的表数据又被很多第三方业务用到,结果是经常发生死锁~!
也试过改源码,之前是另外一个同事改,结果没解决问题。 我现在把它那个测试连接的去掉了,直接返回false,让它重新获取数据库连接。 这样“读”数据没问题,但是修改数据就出问题了。 请问楼主有解决办法了没有? # Returns true if the connection is active. def active? #@connection.execute("SELECT 1").finish #true rescue DBI::DatabaseError, DBI::InterfaceError false end |
|
返回顶楼 | |
发表时间:2008-07-09
换驱动有可能解决问题,我另外一个系统是linux下部署的,没有发现这些问题。
有问题的都是windows下部署的web服务。。。 windows下有哪些驱动程序可换?请指点下。 |
|
返回顶楼 | |