3

症状は次のとおりです。

TinyTds::Error: Adaptive Server 接続がタイムアウトしました: EXEC some_stored_procedure

これexecute_procedureは、ActiveRecord over を介した低速の MSSQL サーバーでの低速のストアド プロシージャtinytdsです。SQL Query Analyzer でストアド プロシージャを実行するとEXEC、完了するまでに 29 ~ 30 かかります。

だから私は追加しました:

timeout = 60

/etc/freetds.conf:

read_timeout: 60
write_timeout: 60

database.yml

同じエラーがまだ表示されます。私が見逃した他の設定はありますか?

psリターンキーを押した後、タイムアウトエラーがタイマーで表示されるタイミングを測定しましたが、約30秒です。30秒がまたはのデフォルトのタイムアウトではない可能性があると感じており 、SQLが終了する時間の少し近くでエラーが表示されるのはなぜだろうかfreetds...activerecord

4

1 に答える 1