技術

[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

[Angular]複数のクエリパラメータを設定する

こんばんは angularで複数のクエリパラメータを設定したいと思います。 co …

no image

【Docker/Mac】Dockerコマンド

どうも中田です。 今回はDocker。 巷でよく話には出てましたが使ってみるとめ …

no image

nginxにX-Robots-Tagを設定する

こんにちは 検索結果にページが表示されないようにするために metaタグには & …

no image

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

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

どうも中田です。 Rails5.2から config/credentials.y …