症状是:
TinyTds ::错误:Adaptive Server连接超时:EXEC some_stored_procedure
execute_procedure
tinytds
通过EXEC
上的ActiveRecord在慢速MSSQL服务器上缓慢存储过程。如果我timeout = 60
SQL查询分析器中的存储过程,则需要29到30才能完成。
所以我补充道:
/etc/freetds.conf
<{1>}中的和
read_timeout: 60
write_timeout: 60
到database.yml
。
同样的错误仍然显示出来。我错过了其他任何配置吗?
P.S。当我按下返回键后,当超时错误出现时,我确实测量了,大约30秒。我有一种感觉30秒可能不是freetds
或activerecord
的默认超时,并想知道为什么错误显示sql完成的时间有点接近......
答案 0 :(得分:1)
已经很长时间但有人可能需要这个。我通过传递timeout:
选项来创建tiny_tds客户端依赖git doc来解决这个问题,请参阅下面的内容:
client = TinyTds::Client.new username: 'sa', password: 'secret', host: 'mydb.host.net', timeout: 30