どうも中田です。
たぶん、この記事で救われるエンジニアの方はおそらく1人いればよい方かと。
そのくらいのオチだと思います。
世界で1人救えればという気持ちで書きます。
事象
RailsでSQLServerにアクセスしてるプロジェクトがあって、
TinyTdsを使ってActiveRecordを操作してます。
そこで、何をやっても
TinyTds::Error (closed connection)
って言われるんですよ。
モデルを参照した瞬間に。。。
結構ハマりました。
結論
database.ymlのencodingがおかしい!
adapter: sqlserver encoding: utf8mb4 vmode: dblib username: xxxx password: xxxx port: 1433 host: xxx.xxx.xxx.xxx database: xxxx
よくよく考えてみると、このプロジェクトのDBのencodeは
utf8
utf8mb4ではダメだったー。
ご覧になった方、プロジェクト依存のお話で大変失礼致しました。
この記事で救われましたでしょうか。
それにしても不親切なログだったなぁ〜。