技術

[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 を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

[ Rails ] ExecJS::RubyRacerRuntime is not supported. Please replace therubyracer with mini_racer in your Gemfile or use Node.js as ExecJS runtime.

こんにちは。たなかです。 モバイルアプリ開発の内容でブログを書くことが多い私です …

[rubyXL] Unknown child node for element

どうも中田です Excelのテンプレートファイルを読み込んで、値を差し込みダウン …

[ Rails ]ActiveRecord::RecordInvalidで怒られ、saveができない!

こんにちは。たなかです。 新しいプロジェクトの参画が決まって、今はrailsを書 …

[Rails]rake db:seedに成功しているのにuserテーブルにデータが作成されない!

こんにちは。たなかです。 railsで開発してて、seedファイルがうまく流し込 …

no image

【ionic】リリースする!ちょっとその前に(version指定)

どうも、中田です。 ionic便利ですよね。 コマンド一つでマルチプラットフォー …