ohh*_*hho 4 sql-server activerecord ruby-on-rails tiny-tds
症状是:
TinyTds::错误:Adaptive Server 连接超时:EXEC some_stored_procedure
这是execute_procedure一个在慢速 MSSQL Server 上通过 ActiveRecord 运行的慢速存储过程tinytds。如果我EXEC在 SQL 查询分析器中执行存储过程,则需要 29 到 30 才能完成。
所以我补充道:
timeout = 60
Run Code Online (Sandbox Code Playgroud)
在/etc/freetds.conf和:
read_timeout: 60
write_timeout: 60
Run Code Online (Sandbox Code Playgroud)
到database.yml。
同样的错误仍然出现。还有其他我错过的配置吗?
ps 我确实测量了按回车键后计时器何时出现超时错误,大约为 30 秒。我有一种感觉 30 秒可能不是freetdsor的默认超时activerecord ,并且想知道为什么错误显示的时间有点接近 sql 完成的时间...
已经过去很长时间了,但有人可能需要这个。我通过传递依赖于git doctimeout:创建tiny_tds客户端的选项解决了这个问题,请参阅以下内容:
client = TinyTds::Client.new username: 'sa', password: 'secret', host: 'mydb.host.net', timeout: 30
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2746 次 |
| 最近记录: |