技術

[Rails] TinyTds::Error (closed connection)

投稿日:

どうも中田です。

たぶん、この記事で救われるエンジニアの方はおそらく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ではダメだったー。

ご覧になった方、プロジェクト依存のお話で大変失礼致しました。
この記事で救われましたでしょうか。

それにしても不親切なログだったなぁ〜。

-技術

執筆者:


comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

no image

[Rails] deviseのパスワード認証を半角英数字だけ許可する

こんばんは ログイン機能を作る時ってdeviseが便利ですよね。 ですが、デフォ …

no image

videoタグとIEの話

以前下記のようなコードでvideoの再生が終了したら別な動画をsrcにセットして …

no image

[Angular] リアクティブフォームの値をtsファイルで設定する。

こんにちは、コーテッグの小山です。 Angularのリアクティブフォームについて …

no image

【Rails】パッと簡単クロスドメイン対応

どうも、中田です。 最近専らRailsでは画面を作るというより、APIを作るとい …

no image

[Rails]if文とcontent_for

こんばんは content_for便利ですよね。 今回はcontent_forと …